Функция Jquery Mobile Panel Swipe вызывает ошибки

У меня такие тяжелые времена, у меня есть флип-часы с использованием mootools, затем виджет погоды с использованием API Yahoo, теперь я понятия не имею, что вызывает

"невозможно вызвать методы на панели до инициализации; попытка вызвать метод "открыть""

Итак, я следил за этой демонстрацией, 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!


person Yasko    schedule 19.02.2013    source источник


Ответы (1)


В случае этого сообщения:

"невозможно вызвать методы на панели до инициализации; попытка вызвать метод "открыть""

открыть панель вот так:

$( "#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" );           
        }        
    });
});
person Gajotres    schedule 19.02.2013
comment
Спасибо за вашу помощь, вот что я сделал if ( $j.mobile.activePage.jqmData( "panel" ) !== "open" ) { if ( e.type === "swipeleft" ) { $j( "#right-panel" ).panel().panel( "open" ); } else if ( e.type === "swiperight" ) { $j( "#left-panel" ).panel().panel("open"); } } теперь я получаю _Cannot read property 'nodeType' of undefined _ а также это _Uncaught TypeError: Cannot call method 'jqmData' of null _ - person Yasko; 20.02.2013
comment
Вы спасатель жизни! puno hvala ja sam iz velka kladusa bosna ali sam doso u americu kad sam imo 6 godina, nista vidimo se ZIVI ! - person Yasko; 20.02.2013
comment
Нема проблема, ако budeš trebao dodatnu pomoć javi mi se na mail direktno. - person Gajotres; 20.02.2013