繁体   English   中英

当滚轮事件引发时,具有平滑行为的scrollIntoView在chrome中不起作用

[英]scrollIntoView with smooth behavior not working in chrome when raised by wheel event

解释起来有些棘手,所以可能最容易理解该问题的方法是访问网站,并比较Firefox(按预期效果完美运行)和chrome(scrollIntoView不起作用)之间的行为。

基本上,我有一个左列菜单,但我不想放一个位置:固定,所以它是一个相对的浮动对象。 因此,主要内容的滚动条上带有overflow-y。

现在,我有一个“欢迎”图像,该图像占据了访客的所有屏幕高度。 我创建的行为是当访客向下滚动时,它会直接到达图像的末尾。 当访客位于图像下方并向上滚动时,它会直接转到图像顶部。 除此之外,文本中的滚动条很普通。

Firefox一切正常,但Chrome无法按预期滚动到视图中。 请参阅上面链接的网站中的scroll.js文件,console.log显示chrome正在捕获wheel事件并输入scrollIntoView但不会滚动。

我应该报告那个Chrome漏洞吗?

谢谢

您必须查看WheelEvent.deltaMode值才能知道浏览器如何报告wheel事件:

WheelEvent.deltaMode

只读

返回一个无符号长整数,代表增量值滚动量的单位。 允许的值为:

Constant Value Description

DOM_DELTA_PIXEL 0x00 The delta values are specified in pixels.

DOM_DELTA_LINE 0x01 The delta values are specified in lines.

DOM_DELTA_PAGE 0x02 The delta values are specified in pages.

一个很好的库可以标准化浏览器中的wheel事件, 网址https://github.com/basilfx/normalize-wheel

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM