используя iscroll с jquery mobile - PullRequest
       29

используя iscroll с jquery mobile

6 голосов
/ 07 октября 2011

Я сейчас пытаюсь заставить Iscroll 4 работать с jQuery Mobile.

Все работает нормально, я отключаю навигацию по умолчанию в JJM ajax, но я хотел бы сохранить это.

Моя проблема в том, что я не могу понять, как успешно вызвать / связать iscroll, чтобы он работал со страницами, которые в них нуждаются. Я пробовал pageinit () и pagecreate () безрезультатно.

Любые указатели очень ценятся.

A.

1 Ответ

8 голосов
/ 07 октября 2011

Я инициализирую / обновляю экземпляры iScroll для событий pageshow и orientationchange. Я установил класс data-role="content" div, который я хочу прокручивать (в данном случае я использовал класс .content).

var myScroll = [];
$(document).delegate('[data-role="page"]', 'pageshow', function () {
    if ($.mobile.activePage.find('.content').length > 0) {
        if (this.id in myScroll) {
            myScroll[this.id].refresh();
        } else {
            myScroll[this.id] = new iScroll($.mobile.activePage.find('.content')[0].id, {
                hScroll        : false,
                vScroll        : true,
                hScrollbar     : false,
                vScrollbar     : true,
                fixedScrollbar : true,
                fadeScrollbar  : false,
                hideScrollbar  : false,
                bounce         : true,
                momentum       : true,
                lockDirection  : true
            });
        }
    }
});

$(window).bind('orientationchange', function () {
    if ($.mobile.activePage[0].id in myScroll) {
        myScroll[$.mobile.activePage[0].id].refresh();
    }
});
...