這個答案可能有點晚...但由於我被困在同樣的問題,這裏是我的解決方案,這很好。 注意:這個解決方案需要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 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>
如果母公司<div class="scrollholder fl">
是父DIV,它可以在您想要進行定位,並多次。 信息:在我的情況下,類「fl」作爲css分隔符"float:left;"
,並不對應於任何iscroll函數。 第二個函數iscroller_reinit (el)
用於重新初始化指定的單個iscroller,可能在容器被ajax請求加載後觸發。
這個工作對我來說,我是有它的麻煩過於 http://stackoverflow.com/a/7159687/903000 – Mike 2013-03-05 06:22:25