Javascript jquery scrollto不滚动到正确的元素
我有一个div元素,其overflow-y设置为auto。现在我有一堆元素,类为highlight1。我想在元素上来回滚动,类为highlight1 由于某些原因,jquery scrollTo无法正常工作。这是我尝试使用的语法:Javascript jquery scrollto不滚动到正确的元素,javascript,jquery,html,scrolltop,scrollto,Javascript,Jquery,Html,Scrolltop,Scrollto,我有一个div元素,其overflow-y设置为auto。现在我有一堆元素,类为highlight1。我想在元素上来回滚动,类为highlight1 由于某些原因,jquery scrollTo无法正常工作。这是我尝试使用的语法: $('#highlightDiv').animate({ scrollTop: $("#"+elementId).offset().top + 'px' }, 'fast'); 以下是我努力实现的目标。有人能解释为什么滚动条没有移动到正确的元素。我有一个简
$('#highlightDiv').animate({
scrollTop: $("#"+elementId).offset().top + 'px'
}, 'fast');
以下是我努力实现的目标。有人能解释为什么滚动条没有移动到正确的元素。我有一个简单的答案,你的脚本不知道你滚动的div的滚动条的高度和位置。你应该向它添加两个值,它应该可以工作 函数scrollToNextHighlight中的scrollTop应该如下所示
scrollTop: ($('#highlightDiv').scrollTop() -
$('#highlightDiv').offset().top)
+ $("#"+elementId).offset().top + 'px'
然后它应该可以工作我有一个简单的答案,你的脚本不知道你正在滚动的div的滚动高度和位置,你应该向它添加两个值,它应该可以工作 函数scrollToNextHighlight中的scrollTop应该如下所示
scrollTop: ($('#highlightDiv').scrollTop() -
$('#highlightDiv').offset().top)
+ $("#"+elementId).offset().top + 'px'
然后它应该可以工作了你能解释一下为什么要添加这个:$'highlightDiv'。scrollTop-$'highlightDiv'。offset.topthis$'highlightDiv'。scrollTop-$'highlightDiv'。offset.top从div highlightDiv顶部开始计算滚动的位置吗?highlightDiv因为你只添加元素滚动的位置会从身体顶部开始计算,你能不能解释添加此项的原因:$'highlightDiv'.scrollTop-$'highlightDiv'.offset.topthis$'highlightDiv'.scrollTop-$'highlightDiv'.offset.top从div顶部计算滚动条的位置highlightDiv,因为您添加的元素滚动条的位置仅从主体顶部计算