이 답변은 약간 늦을 수 있습니다 ...하지만 같은 문제에 봉착 한 이래서, 내 솔루션은 훌륭합니다. 참고 :이 솔루션에는 jquery가 필요하지만 어쨌든 사용하고 있습니다.
스크립트 부분 :
function iscroller_init() {
var iscroller = $('.iscroller');
iscroller.each(function(index){
$(this).addClass('iscroller'+index).attr('iscroller_id','iscroller'+index);
var tmpfnc = new Function('var myScroll'+index);
tmpfnc();
var tmpfnc = new Function('myScroll'+index+' = new IScroll(\'.iscroller'+index+'\', { mouseWheel: true });');
tmpfnc();
});
}
function iscroller_reinit (el) {
var el = $(el);
var iscroller = $('.iscroller');
var i = iscroller.index(el);
var tmpfnc = new Function('var myScroll'+i+' = new IScroll(\'.iscroller'+i+'\', { mouseWheel: true });');
tmpfnc();
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
$(document).ready(function(){
if ($('.iscroller').length > 0) iscroller_init();
});
HTML :
부모
<div class="scrollholder fl">
부모가 원하는 곳에 배치 할 수 있습니다 DIV, 여러 번이
<div class="scrollholder fl">
<div class="iscroller">
<div class="scroller">
<ul>
<li>Pretty row 1</li>
<li>Pretty row 2</li>
<li>Pretty row 3</li>
<li>Pretty row 4</li>
.....
<li>Pretty row 47</li>
<li>Pretty row 48</li>
<li>Pretty row 49</li>
<li>Pretty row 50</li>
</ul>
</div>
</div>
</div>
. Info : "fl"클래스는 필자의 경우 "float:left;"
에 대한 CSS 구분 기호로 사용되며 iscroll 함수에 해당하지 않습니다. 두 번째 함수 iscroller_reinit (el)
은 지정된 단일 iscroller를 다시 초기화하기위한 것이며, 컨테이너가 ajax 요청에 의해로드 된 후에 시작될 수 있습니다.
이것은 나를 위해 일한
, 나도 그것으로 문제가 된 http://stackoverflow.com/a/7159687/903000 – Mike