Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 如何在溢出隐藏div中滚动到某个当前不可见的元素?_Javascript_Jquery_Scroll - Fatal编程技术网

Javascript 如何在溢出隐藏div中滚动到某个当前不可见的元素?

Javascript 如何在溢出隐藏div中滚动到某个当前不可见的元素?,javascript,jquery,scroll,Javascript,Jquery,Scroll,我有一个溢出隐藏div中的元素列表。因此并非所有元素都可见。现在,如果一个元素被激活,它应该在div中可见 如何使用jQuery滚动到活动元素 最后一个元素具有活动类只是一种方便。它将被动态切换 var scrollToEl=$(“div.element.active”); console.log(zoomToEl) #main, #边栏{ 高度:200px; } #包装纸{ 宽度:190px; 浮动:左; 背景:灰色; 溢出:自动; 溢出x:隐藏; } #边栏分区元素{ 高度:150像素;

我有一个溢出隐藏div中的元素列表。因此并非所有元素都可见。现在,如果一个元素被激活,它应该在div中可见

如何使用jQuery滚动到活动元素

最后一个元素具有活动类只是一种方便。它将被动态切换

var scrollToEl=$(“div.element.active”);
console.log(zoomToEl)
#main,
#边栏{
高度:200px;
}
#包装纸{
宽度:190px;
浮动:左;
背景:灰色;
溢出:自动;
溢出x:隐藏;
}
#边栏分区元素{
高度:150像素;
宽度:150px;
背景颜色:绿色;
边缘底部:10px;
}
#侧边栏div.element.active{
背景色:红色;
}

A.
B
C
D
E
F
G
H
也许您正在寻找方法

演示:

您可以将包装器div的设置为活动元素的顶部

$("#wrapper").scrollTop($("#wrapper").scrollTop() + $("div.element.active").position().top);

它似乎有一些缺点:尤其是“简单地跳到一个特定的元素,该元素很可能位于页面末尾”对我来说是一个破坏者。@k0pernikus您最好在问题中注明您正在寻找动画解决方案。除此之外,我认为这个方法非常好用,非常简单。我的意思不是不尊重你提供的解决方案。这根本不符合我的需要:)@k0pernikus嗯,这是有道理的。至少现在你知道了另一种方法:)我用它来模拟ExtJS中html组合框的正常行为。试过你的演示,但只运行了一次,试着重复,你会看到一些奇怪的行为。这似乎是由以下代码修复的:$(“#wrapper”).scrollTop($(“#wrapper”).scrollTop()+$(“div.element.active”).position().top);演示:接得好,@Rob!这是因为当它滚动到活动div时,它处于
位置。top
变为0。下次尝试运行该代码时,它将滚动到位置0,即容器的实际顶部。更新了我的代码。@Rob,这太棒了。对于具有
父级:100%高度
和/或
溢出:隐藏
的情况,这是最好的解决方案-这与移动设备的情况一样
$("#wrapper").scrollTop($("#wrapper").scrollTop() + $("div.element.active").position().top);