我有一个用于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());
非常感谢任何帮助!谢谢!
答案 0 :(得分:1)
首先,首先,在你的" scrollEnd"事件而不是传递scroller.on("scrollEnd", updatePages);
函数作为参数,你正在调用它。因此,当页面加载不在scrollEnd上时,它只会运行一次。你应该把它改成:
#wrapper
如果仅此问题无法解决您的问题,那么您应该检查自己的CSS。
来自iscroll.js文档:
[...]请记住脚本需要知道的高度/宽度 滚动区域。
这意味着:
如果您的#wrapper
元素位于相对位置或静态位置,那么您应该使用某个相对单位明确定义高度(%赢得工作)。
如果您的top
元素位于绝对位置或固定位置,那么您应该应用上述规则,或者可以使用bottom
和{{1}}代替(两者都必须指定)。
如果它仍然无法正常工作,那么请确保在DOM准备就绪后启动您的IScroll对象,但考虑到它之前适用于您,这不是问题所在。