$("#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/