4

私はとても苦労しています。mootoolsを使ったパタパタ時計、そしてYahoo APIを使った天気ウィジェットがありますが、何が原因なのかわかりません。

「初期化前にパネルのメソッドを呼び出すことができません。メソッド'open'を呼び出そうとしました」

だから私はこのデモ、 http: //view.jquerymobile.com/master/docs/examples/panels/panel-swipe-open.php#demo-pageに従いました、そして今私はエラーを受け取ります。

$( document ).on( "pageinit", "#demo-page", function() {
$( document ).on( "swipeleft swiperight", "#demo-page", function( e ) {
    // We check if there is no open panel on the page because otherwise
    // a swipe to close the left panel would also open the right panel (and v.v.).
    // We do this by checking the data that the framework stores on the page element (panel: open).
    if ( $.mobile.activePage.jqmData( "panel" ) !== "open" ) {
        if ( e.type === "swipeleft"  ) {
            $( "#right-panel" ).panel( "open" );
        } else if ( e.type === "swiperight" ) {
            $( "#left-panel" ).panel( "open" );
        }
    }
});

});

私は行き止まりになっています。動作させたので、コードを自由に見てください。http://yaasko.com/gra423/project-4.3/または右にスワイプしようとすると、コンソールにエラーが出力されます。 。

初めてjqueryモバイルユーザーを支援できるかどうか教えてください!

4

1 に答える 1

10

このメッセージの場合:

「初期化前にパネルのメソッドを呼び出すことができません。メソッド'open'を呼び出そうとしました」

このようにパネルを開きます:

$( "#left-panel" ).panel().panel("open");

最初のpanel()呼び出しはそれを初期化し、2番目の呼び出しはそれを開きます。

編集 :

$(document).on('pagebeforeshow', '#index', function(){        
    $( document ).on( "swipeleft swiperight", "#index", function( e ) {
        if ($.mobile.activePage.find('#left-panel').hasClass('ui-panel-closed') && e.type === "swipeleft") {
            $( "#right-panel" ).panel( "open" ); 
        }    

        if ($.mobile.activePage.find('#right-panel').hasClass('ui-panel-closed') &&  e.type === "swiperight") {
            $( "#left-panel" ).panel( "open" );           
        }        
    });
});
于 2013-02-19T22:06:11.920 に答える