我有一些代码使用jQuery的scrollTop(0)
方法,它在Chrome(版本56.0.2924.87)上无法正常工作。jQuery滚动到顶部冻结,如果调用中间滚动
我的代码设置其执行以下2秒超时:
- 滚动到屏幕的顶部。
- 取消隐藏具有100%宽度和高度的div并请求用户完成某些操作。
- 将类添加到设置为
overflow: hidden
的html标记中。 - 一旦用户完成操作,它将删除类并隐藏div,以便它们可以继续滚动。
这是工作可靠的Firefox。
在Chrome上,如果在用户滚动时执行2秒超时而而不是,则按预期工作。但是,如果在用户处于滚动中间时调用2秒超时,它似乎会冻结。
我已经创建了包含所有代码的this Plunker。如果您在内联演示窗口中进行测试,则不会发生该问题,您需要单击单独窗口中的预览(代码演示中的蓝色按钮右上角)。
在我的演示,这是什么情况,如果超时运行,而我不积极滚动:
即使用户当前正在页面上滚动,如何在Chrome上可靠地进行此项工作?