我有这么难的时候,我有一个使用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移动用户!
答案 0 :(得分:10)
如果是这个消息:
像这样打开面板:“无法在初始化之前调用面板上的方法;尝试了 调用方法'open'“
$( "#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" );
}
});
});