0

rhomobile と jquery mobile でアプリケーションを作成しています。ページで 2 つの iscroll を使用しようとしています。私のページでは、2 li を持っています。最初は左側の li は空です。右側のliをクリックすると、左側のliに追加され、右側のliから削除されます。最初に、スクロールを使用して右側の要素を表示しています。それはうまくいっています。しかし、コンテンツが高さを超えると、左側のスクロールが来ません。いろいろ探しました。私はいくつかの提案を得ましたが、それは私にはうまくいきません。それらは

最初にcheckDOMChanges: trueオプションを追加してから、タイムアウトを設定します。例:setTimeout(function () { myScroll.refresh() }, 0)

私の右側のUL IDはaccounts_containerで、左側のUL IDはdestinations_containerです

私のコード:

var destinations_scroll1, accounts_scroll;
function loaded() {
    destinations_scroll1 = new iScroll('destinations_container');
    accounts_scroll = new iScroll('accounts_container', {
        checkDOMChanges: true
    });
setTimeout(function () { accounts_scroll.refresh() }, 0)
}
document.addEventListener('touchmove', function (e) {
    e.preventDefault();
}, false);
document.addEventListener('DOMContentLoaded', loaded, false);

次に、このリンクに従って http://groups.google.com/group/iscroll/browse_thread/thread/6bdf7a2b5552d018

私は試した

destinations_scroll1.destroy();
destinations_scroll1= null;
destinations_scroll1= new iScroll('destinations_container');

setTimeout(function() {
destinations_scroll1.refresh();
},0); 

rhosimulator では、これは通常の CSS スクロールを作成しますが、エミュレーター (実際のデバイス) では機能しません。

助言がありますか?

4

1 に答える 1

0

私はばかです。上記のコードでは、checkDomChangesをチェックし、右側のulのisrollオブジェクトを更新していますが、左側のulに動的コンテンツを追加しています。

var destinations_scroll1, accounts_scroll;
function loaded() {
    accounts_scroll = new iScroll('accounts_container');
    destinations_scroll1 = new iScroll('destinations_container', { checkDOMChanges: true });
    setTimeout(function () {            
            destinations_scroll1.refresh();     
    }, 0);   
}
document.addEventListener('touchmove', function (e) {
    e.preventDefault();
}, false);
document.addEventListener('DOMContentLoaded', loaded, false);

これは正常に機能しています。

于 2012-04-01T17:19:38.790 に答える