4

我很难过,我有一个使用 mootools 的翻转时钟,然后是一个使用 Yahoo API 的天气小部件,现在我不知道是什么原因造成的

“在初始化之前无法调用面板上的方法;试图调用方法‘打开’”

所以我跟着这个演示, 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

在这个消息的情况下:

“在初始化之前无法调用面板上的方法;试图调用方法‘打开’”

像这样打开面板:

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

第一个 panel() 调用将初始化它,第二个将打开它。

编辑 :

$(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 回答