【问题标题】:iScroll on ios doesn't work after upgrading to iScroll5升级到 iScroll5 后,iOS 上的 iScroll 不起作用
【发布时间】:2015-08-11 03:54:15
【问题描述】:

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

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

【问题讨论】:

    标签: javascript ios iscroll


    【解决方案1】:

    所以,首先,在您的“scrollEnd”事件中,不是将updatePages() 函数作为参数传递,而是调用它。所以它只会运行一次,当页面加载而不是滚动结束时。您应该将其更改为:

    scroller.on("scrollEnd", updatePages);

    如果仅此一项不能解决您的问题,那么您应该适当地检查您的 CSS。

    来自 iscroll.js 文档:

    [...]记住,脚本需要知道 滚动区域。

    这意味着:

    • 如果您的 #wrapper 元素是相对定位或静态定位,那么您应该使用一些相对单位明确定义高度(% 不起作用)。

    • 如果您的 #wrapper 元素是绝对定位或固定定位,那么您应该应用上述规则,或者您可以使用 topbottom 代替(两者都必须指定)。

      李>

    如果它仍然不起作用,请确保在 DOM 准备好之后启动 IScroll 对象,但考虑到它之前对您有效,这不是问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-08
      • 2017-07-06
      • 2017-06-30
      • 1970-01-01
      • 2015-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多