javascript - jquery scrollto 不滚动到正确的元素

标签 javascript jquery html scrolltop scrollto

我有一个 overflow-y 设置为 auto 的 div 元素。现在我有一堆类为 highlight1 的元素。我想在 class 作为 highlight1 的元素上来回滚动。

由于某些原因,jquery scrollTo 无法正常工作。这是我尝试使用的语法:

$('#highlightDiv').animate({
     scrollTop: $("#"+elementId).offset().top + 'px'
}, 'fast');

这是 Jsfiddle我想要完成的事情。有人可以解释为什么滚动没有移动到正确的元素吗。

最佳答案

我有一个简单的答案你的脚本不知道你正在滚动的 div 的滚动高度和位置你应该向它添加两个值并且它应该工作

函数 scrollToNextHighlight() 中的 scrollTop 应该是这样的

scrollTop: ($('#highlightDiv').scrollTop() - 
$('#highlightDiv').offset().top)
+ $("#"+elementId).offset().top + 'px'

然后它应该工作

关于javascript - jquery scrollto 不滚动到正确的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28980103/

相关文章:

javascript - 通过express发送一个对象及其父类

javascript - 在 nodejs 中流式传输视频

javascript - TypeError 对话框不是一个函数

Javascript:Jquery Select-Object-by-Attribute-Value 不适用于 className

javascript - jquery mobile动态创建单选按钮并监听点击事件

javascript - 谷歌分析事件跟踪 - 不工作

c# - 文本框/输入文本中的 HTML 标记

javascript - 使用 JQuery 在 div 中查找上一张和下一张图片

javascript - 使用纯 JavaScript 交错附加元素

javascript - 使用 jQuery 检测提交事件的来源