Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery scrollto不滚动到正确的元素_Javascript_Jquery_Html_Scrolltop_Scrollto - Fatal编程技术网

Javascript 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'); 以下是我努力实现的目标。有人能解释为什么滚动条没有移动到正确的元素。我有一个简

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

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

$('#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,因为您添加的元素滚动条的位置仅从主体顶部计算