我有一个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());

任何帮助是极大的赞赏!谢谢!

最佳答案

因此,首先,在您的“scrollEnd”事件中,而不是将updatePages()函数作为参数传递,而是在调用它。因此,当页面不在scrollEnd上加载时,它将仅运行一次。您应该将其更改为:
scroller.on("scrollEnd", updatePages);
如果仅此一项不能解决问题,则应适当检查CSS。

从iscroll.js文档中:



这意味着:

  • 如果您的#wrapper元素是相对或静态放置的,那么您应该使用某些相对单位明确定义高度(%将不起作用)。
  • 如果您的#wrapper元素位于绝对位置或固定位置,则应应用上面的规则,或者可以使用topbottom(必须同时指定)。

  • 如果仍然无法使用,请确保在DOM准备就绪后启动IScroll对象,但是考虑到之前它对您有用,这不是问题。

    关于javascript - 升级到iScroll5后,iOS上的iScroll不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30509970/

    10-10 05:44