首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scrollTop不支持-webkit-overflow-scrolling: touch

scrollTop不支持-webkit-overflow-scrolling: touch
EN

Stack Overflow用户
提问于 2014-07-12 19:20:10
回答 1查看 870关注 0票数 4

我有一个用Phonegap构建的单页面应用程序,我在使用iOS设备(不是安卓)时遇到了问题:

代码语言:javascript
复制
 document.querySelector('page').scrollTop = 0;

如果我导航到一个不同的页面,并且我刚刚来自的视图有scrollTop //38,它将保持相同的scrollTop //38,因为我只改变了page中的内容。

因此,我将使用上面的jS来编辑顶部滚动,这样做:

代码语言:javascript
复制
 document.querySelector('page').scrollTop //outputs 38

太棒了,但是当我触摸屏幕时,它会跳到38px并重置scrollTop = 38

如果我删除

代码语言:javascript
复制
 page {
      -webkit-overflow-scrolling: touch;
 }

那么这个问题就不会再发生了,但是平滑的滚动也会停止,只有当你触摸屏幕的时候才会滚动。

现在有没有人知道如何在保持滑动效果的同时正确使用scrollTop

EN

回答 1

Stack Overflow用户

发布于 2014-07-12 20:10:39

我认为这是因为JS和CSS中的查询选择器page

选择器page指的是标记名为page的标记,如下所示:

代码语言:javascript
复制
<page foo="bar"></page>

它不是有效的标准HTML5元素。

你指的是.page还是#page,分别是类名和id。

我已经试过了,一切都很好。

HTML

代码语言:javascript
复制
<div class="page">
    foo<br>bar<br>
    foo<br>bar<br>
    foo<br>bar<br>
    foo<br>bar<br>
    foo<br>bar<br>
    foo<br>bar<br>
    foo<br>bar<br>
    foo<br>bar<br>
    foo<br>bar<br>
    foo<br>bar<br>
</div>

CSS

代码语言:javascript
复制
.page {
    display: block;
    width: 10em;
    height: 5em;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

JS

代码语言:javascript
复制
document.querySelector('.page').scrollTop = 0;

当我在屏幕上或在屏幕上触摸时,页面并没有意外跳转。

代码语言:javascript
复制
console.log(document.querySelector('.page').scrollTop);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24712398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档