为什么没有动力滚动在这里工作? (使用-webkit-overflow-scrolling:touch)

时间:2015-02-16 19:33:24

标签: ios webkit touch

我正在尝试通过在顶层div上设置一个名为动量滚动的类来动态滚动工作,该顶层div包含滚动内容的一部分。该类定义为:

.momentum-scrolling
{
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

然而它无效(在iOS 7.1和8.1中都在模拟器中测试)。

这是一个直接在jsbin上查看示例的链接(适合在移动设备中查看以进行测试):

http://jsbin.com/cewobokisi/1/

以下是jsbin上可编辑内容的链接:

http://jsbin.com/cewobokisi/1/edit?html,css,output

(请注意,显示的CSS包括缩小的引导程序,以及其他一些内容。我这样做是因为虽然编辑起来有点困难,但我正试图重现问题,就像我们现在在网站上一样,如果我们正在做的任何事情导致问题。)

更新

我在这里有一个修改过的版本(http://jsbin.com/sibofucexe/1),我修改了.momentum-scrolling样式,包括位置:固定,高度/宽度100%(基于我发现的其他一些帖子滚动示例):

.momentum-scrolling
{
    position: fixed;
    height: 100%;
    width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

确实现在允许惯性/动量滚动工作!

然而,现在我失去了点击顶部栏以将窗口滚动到顶部的能力,偶尔我无法向上或向下滚动(通常当DOM被JavaScript操纵时,由于要添加ajax命中更多数据)。

关于这些问题的任何想法?我做错了吗?

1 个答案:

答案 0 :(得分:1)

我知道这是一个迟到的回复,但是为了未来的Google员工:

根据CSS Tricks,您必须使用overflow: scroll而不是overflow: auto。这可能会导致您的第一个示例工作。