6

私は現在、iscroll4をjQueryMobileで動作させるために髪を引っ張っています。

JQM ajaxのデフォルトのナビゲーションを無効にすると、すべて正常に機能しますが、これを保持したいと思います。

私の問題は、iscrollを正常に呼び出し/バインドする方法がわからないため、iscrollが必要なページで機能することです。pageinit()とpagecreate()を試しましたが無駄になりました。

どんなポインタでも大歓迎です。

A。

4

1 に答える 1

8

pageshowおよびイベントで iScroll インスタンスを初期化/更新し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();
    }
});
于 2011-10-07T17:04:15.153 に答える