scrollIntoView 是否适用于所有浏览器?

新手上路,请多包涵

scrollIntoView() 是否适用于所有浏览器?如果没有,是否有 jQuery 替代方案?

原文由 9-bits 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 351
2 个回答

是的,它是受支持的,但是用户体验很差。

正如@9bits 所指出的,这早已被 所有主流浏览器所支持。不用担心。主要问题是它的工作方式。它只是跳转到可能位于页面末尾的特定元素。通过跳转到它,用户不知道是否:

  • 页面已向上滚动
  • 页面已向下滚动
  • 他们已被重定向到其他地方

前两个可以通过滚动位置来确定,但是谁说用户在跳转完成之前就一直跟踪滚动位置?所以这是一个不确定的动作。

最后一个可能是正确的,特别是如果页面有 移动 的标题被滚动到视图之外并且剩余的页面设计并不意味着在同一页面上有任何内容(如果它也没有任何总高度垂直元素,如左菜单酒吧)。您会惊讶于有多少页面存在此问题。自己检查一下。转到某个页面,在顶部查看它,然后按 End 键并再次查看它。您可能会认为这是一个不同的页面。

动画 scrollintoview jQuery 插件来拯救

这就是为什么仍然有 插件执行滚动到视图 而不是使用本机 DOM 功能的原因。他们通常使用动画滚动来消除上面列出的所有 3 个问题。用户可以很容易地跟踪运动。

原文由 Robert Koritnik 发布,翻译遵循 CC BY-SA 3.0 许可协议

看起来确实如此: http ://www.quirksmode.org/dom/w3c_cssom.html

原文由 9-bits 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题