2012-03-30 7 views
0

Je crée une application dans rhomobile et jquery mobile. J'essaie d'utiliser 2 iscroll dans ma page. Dans ma page j'ai 2 li. Initialement, le côté gauche li est vide. Quand je suis cliquez sur le côté droit li qui va ajouter à gauche li et retiré de droite li. Au départ, j'utilise je défile pour voir les éléments dans le côté droit li. Cela fonctionne bien. Mais dans le côté gauche li iscroll ne vient pas lorsque le contenu dépasse la hauteur. J'ai beaucoup cherché. J'ai quelques suggestions mais ça ne marchera pas pour moi. Ce sontIntroduire isroll après changement de contenu dom

d'abord ajouter checkDOMChanges: true dans mes options, puis le temps indiqué Ex: setTimeout(function() { myScroll.refresh() }, 0)

côté droit ul id est accounts_container, ul id côté gauche est destinations_container

Mon code:

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); 

Puis, comme par ce lien http://groups.google.com/group/iscroll/browse_thread/thread/6bdf7a2b5552d018

J'ai essayé

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

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

Dans ce rhosimulator créer rouleau css normal, mais ne fonctionne pas dans l'émulateur (réelle concevoir).

Des suggestions?

Répondre

0

Je suis un idiot. Dans le code ci-dessus je vérifie checkDomChanges et actualise l'objet isroll pour le côté droit ul mais j'ajoute du contenu dynamique dans le côté gauche 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); 

Cela fonctionne très bien.

Questions connexes