Ввести isroll после изменения содержимого dom - PullRequest
0 голосов
/ 30 марта 2012

Я создаю приложение в rhomobile и jquery mobile.Я пытаюсь использовать 2 iscroll на моей странице.У меня на странице 2 лита.Первоначально левая сторона li пуста.Когда я нажму правую сторону li, это добавит к левой стороне li и удалит с правой стороны li.Сначала я использую прокрутку для просмотра элементов в правой части li.Это работает нормально.Но в левой части li isroll не появляется, когда содержимое превышает высоту.Я много искал.Я получил несколько предложений, но это не сработает для меня.Это

Сначала добавьте checkDOMChanges: true в мои параметры, затем установите время, например: setTimeout(function () { myScroll.refresh() }, 0)

Идентификатор ul моей правой стороны - account_container, идентификатор ul левой стороны - destions_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, но не работает вэмулятор (реальное устройство).

Есть предложения?

1 Ответ

0 голосов
/ 01 апреля 2012

Я идиот. В приведенном выше коде я проверяю checkDomChanges и обновляю объект isroll для правой стороны ul, но я добавляю динамическое содержимое в левой стороне 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);

Это нормально работает.

...