我有一个奇怪的问题,我有一个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
向下滚动到位,但我无法使用鼠标滚动列表,这里的打印屏幕更精确:
我想我可能会以错误的方式滚动,但我也尝试过scrollTop / margin-top,它仍然无法正常工作。
一些测试:http://jsfiddle.net/uk5xqfry/3/
任何帮助?
答案 0 :(得分:5)
根据你的小提琴你需要使用scrollTop
,试试这个:
$('.input-helper').animate({
scrollTop : $("#test").position().top,
}, 200);
检查 Demo Fiddle
在您的代码中,您只是移动ul
元素,然后超出父视图;现在,您正在更改父级的滚动。
答案 1 :(得分:0)
我似乎记得曾经有过这个问题,多年前(将内部元素滚动到某一点,而不是将视口滚动到一个元素),我想我用一个jQuery插件解决了它。简单。