繁体   English   中英

DIV中的长UL列表,自动滚动到LI元素

[英]Long UL list in DIV, auto scroll to LI element

我有这么奇怪的问题,我有一个div

_inputHelper // it has fixed height ( 200px )

包含非常非常长的<ul>列表(大约200个元素),我想使用jQuery滚动到列表中的某些<li> ,但问题是,当我以这样的方式滚动整个列表时:

$( _inputHelper.find('ul') ).animate( { top : -1 * ( $(_this).position().top - $(_this).height() ) } , 200);
 _this is a LI element I would like to scroll to 

在适当的位置向下滚动,但我无法使用鼠标滚动列表,这里是一个更精确的打印屏幕:

在div自动滚动问题中的长UL

我想我可能会以错误的方式滚动,但我也尝试过scrollTop / margin-top,它仍然无效。

一些测试: http//jsfiddle.net/uk5xqfry/3/

有帮助吗?

基于你的小提琴你需要使用scrollTop ,试试这个:

$('.input-helper').animate({
    scrollTop : $("#test").position().top,
}, 200);

检查演示小提琴


在您的代码中,您只是移动ul元素,然后超出父视图; 现在,您正在更改父级的滚动。

我好像记得曾经有过这个问题,多年前(将内部元素滚动到某一点,而不是将视口滚动到一个元素),我想我用一个jQuery插件解决了它。 简单。

https://github.com/flesler/jquery.scrollTo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM