javascript - jQuery scrollTop 静态元素上的目标引用发生变化

标签 javascript jquery scrolltop

fiddle

$("#other-content").click(function() {
    var dest = $('input[value="skip0"]').offset().top;
    console.log(dest, typeof(dest));
    $("html, body").animate({ scrollTop: dest });
});

我不明白为什么我可以单击红色栏并且窗口会滚动,但如果我单击橙色栏,则不会滚动

不同之处在于我引用了隐藏的输入位置来滚动橙色条

如果我滚动然后单击橙色条,输入的顶部属性就会发生变化。不知道为什么

我意识到输入的顶部位置是 0,但即使它在 900,它也无法正常工作

最佳答案

为什么隐藏输入没有偏移量的问题在这里得到了解答jquery: get the offset of hidden element

问:“如何获取隐藏元素的坐标?.offset() 不支持隐藏元素的使用。

有什么提示吗?

谢谢!”

A:“如果你的元素调用了 .hide(),或者在 css 中调用了 display:none,则浏览器根本不会渲染它。在这种情况下,答案不是直接的。在最近的 jQueries 中,您甚至无法获取其宽度或高度。”

关于javascript - jQuery scrollTop 静态元素上的目标引用发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25941264/

相关文章:

javascript - 如何使用谷歌地图将一张图像标记在另一张图像上作为标记

javascript - 使用 SI 单位将数字格式化为三个 sig figs

javascript - 我的代码在 $document.ready 中调用,但似乎在加载 DOM 之前运行。为什么?

jquery - 当 div 有程序员添加类时如何向上滚动

jQuery scrollTop 在 iOS 上的 iframe 中不起作用

javascript - 使用服务帐户的 Google drive api rest 上传文件不起作用

jquery - 在jquery中删除父级和自身

javascript - 如何从 .jsx 脚本中调用 ReactJS 元素上的 jQuery 函数?

jquery - 我们可以使用跨域中的 Jquery $.ajax() 调用通过 https 访问 WCF 服务吗?

jQuery if (.scrollTop() < 100) 仅适用于页面加载...?