是否scrollIntoView()
在所有浏览器的工作?如果没有,还有jQuery
其他选择吗?
Answers:
正如@ 9bits指出的那样,所有主流浏览器长期以来一直支持该功能。不用担心。主要问题是它的工作方式。它只是跳到页面末尾的特定元素。通过跳转到它,用户不知道是否:
前两个可以通过滚动位置确定,但是谁说用户在完成跳转之前一直跟踪滚动位置?因此,这是不确定的动作。
最后一个可能是正确的,特别是如果页面具有移动的页眉而滚动到视图之外并且剩余页面设计并不暗示同一页面上有任何内容(如果它也没有任何总高度的垂直元素,例如左侧菜单)酒吧)。您会惊讶于有多少页面出现此问题。自己检查一下即可。转到某个页面,在顶部查看,然后End按键并再次查看。您可能会认为这是另一页。
scrollintoview
jQuery插件进行了抢救这就是为什么仍然有一些插件可以滚动到视图中,而不是使用本机DOM函数。它们通常为滚动动画,这消除了上面概述的所有3个问题。用户可以轻松跟踪运动情况。
ScrollIntoViewOptions
允许指定behavior: 'smooth'
。不幸的是,无法轻松检测浏览器是否支持此选项……
behavior: "smooth"
,但Chrome或Safari不支持。
看起来确实如此:http : //www.quirksmode.org/dom/w3c_cssom.html