0

我正在 rhomobile 和 jquery mobile 中创建一个应用程序。我尝试在我的页面中使用 2 iscroll。在我的页面中,我有 2 里。最初左侧 li 是空的。当我单击右侧 li 时,它将添加到左侧 li 并从右侧 li 中删除。最初我使用滚动来查看右侧 li 中的元素。这工作正常。但是当内容超过高度时,左侧 li iscroll 不会出现。我搜索了很多。我得到了一些建议,但这对我不起作用。那些是

首先添加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 回答