首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果称为中间滚动,jQuery滚动到顶部冻结。

如果称为中间滚动,jQuery滚动到顶部冻结。
EN

Stack Overflow用户
提问于 2017-02-20 12:48:54
回答 2查看 610关注 0票数 0

我使用jQuery的scrollTop(0)方法编写了一些代码,该方法在Chrome上不能正常工作(版本56.0.2924.87)。

我的代码设置了2秒超时,执行以下操作:

  • 滚动到屏幕的顶部。
  • 隐藏一个100%宽度和高度的div,并要求用户完成一些操作。
  • 将类追加到设置overflow: hidden的html标记中。
  • 一旦用户完成操作,它将删除类并隐藏div,以便他们可以继续滚动。

这是对Firefox的信任。

在Chrome上,如果在用户是而不是滚动时执行2秒超时,那么它将按预期工作。但是,如果在用户处于滚动过程中时调用了2秒超时,则该超时似乎会冻结。

我已经创建了包含所有代码的这个柱塞。如果您在内联演示窗口内进行测试,则不会出现此问题,您需要在单独的窗口中单击Preview (代码演示中的蓝色按钮顶部)。

在我的演示中,如果超时在我是而不是时运行,那么会发生什么情况:

这就是当我向下滚动时执行超时时会发生的情况(中间滚动):

即使用户目前正在页面上滚动,我如何在Chrome上可靠地工作呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-20 14:22:24

为什么在显示时看不到div。当事件在滚动的中间被调用时,滚动条隐藏,div apper在页面顶部,但是你的视口不在顶部。如果您将div位置属性设置为div,它将工作,css位置。位置属性的固定值相对于视口。

所以问题不在jquery代码上。

代码语言:javascript
运行
复制
code here

柱塞

看看这个:

  • 滚动到屏幕的顶部。
  • 一旦用户完成操作,它将删除类并隐藏div,以便他们可以继续滚动。

我认为最好是他们能继续在磨损之前的位置。

票数 1
EN

Stack Overflow用户

发布于 2017-02-20 13:27:46

如果添加stop()会怎么样?在.scrollTop(0)之前?

代码语言:javascript
运行
复制
$('html,body,document').stop().scrollTop(0);

我不是专家,但可能值得一试。

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42345024

复制
相关文章

相似问题

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