升级到iScroll5后,iSos上的iScroll不起作用

时间:2015-05-28 14:50:55

标签: javascript ios iscroll

我有一个用于ipad的cordova应用程序,它使用iScroll在页面之间滚动 一切正常,直到我升级到iScroll5。 我改变了我的代码,使用新的构造函数和参数,但它仍然无法正常工作。它根本就不滚动 我不知道我是否遗漏了一些明显的东西,但我找不到有关升级的详尽文档。

这是我之前使用它的一个例子(iScroll4):

var options = {hScroll:false, hScrollbar:false, snap:true, onScrollEnd: updatePages(), momentum: false};
var scroller = new iScroll("wrapper", options);  

这就是我现在使用它的方式(iScroll5):

var options = {scrollX: false, snap: true, momentum: false};  
var scroller = new IScroll("#wrapper", options);  
scroller.on("scrollEnd", updatePages());

非常感谢任何帮助!谢谢!

1 个答案:

答案 0 :(得分:1)

首先,首先,在你的" scrollEnd"事件而不是传递scroller.on("scrollEnd", updatePages);函数作为参数,你正在调用它。因此,当页面加载不在scrollEnd上时,它只会运行一次。你应该把它改成:

#wrapper

如果仅此问题无法解决您的问题,那么您应该检查自己的CSS。

来自iscroll.js文档:

  

[...]请记住脚本需要知道的高度/宽度   滚动区域。

这意味着:

  • 如果您的#wrapper元素位于相对位置或静态位置,那么您应该使用某个相对单位明确定义高度(%赢得工作)。

  • 如果您的top元素位于绝对位置或固定位置,那么您应该应用上述规则,或者可以使用bottom和{{1}}代替(两者都必须指定)。

如果它仍然无法正常工作,那么请确保在DOM准备就绪后启动您的IScroll对象,但考虑到它之前适用于您,这不是问题所在。