我有个奇怪的问题,我有个div
_inputHelper // it has fixed height ( 200px )
其中包含非常、非常长的<ul>
列表(大约200个元素),我希望使用jQuery滚动到列表中的某些<li>
,但问题是,当我以这样的方式滚动整个列表时:
$( _inputHelper.find('ul') ).animate( { top : -1 * ( $(_this).position().top - $(_this).height() ) } , 200);
_this是我想要滚动到的LI元素
是在好地方滚动的,但是我不能用鼠标滚动列表,这里有一个更精确的printscreen:
我想我可能会以错误的方式滚动,但我也尝试过滚动顶部/边距顶,但仍然没有起作用。
一些测试:http://jsfiddle.net/uk5xqfry/3/
有什么帮助吗?
发布于 2014-10-10 05:14:54
基于您需要使用scrollTop
的Fiddle,请尝试如下:
$('.input-helper').animate({
scrollTop : $("#test").position().top,
}, 200);
检查演示Fiddle
在您的代码中,您只是移动ul
元素,然后离开父视图;现在,您将更改父元素的滚动。
发布于 2014-10-10 05:20:18
我似乎记得有过一次这个问题,几年前(将一个内部元素滚动到某个点,而不是将视口滚动到一个元素),我想我用我找到的jQuery插件解决了这个问题。让事情变得简单。
https://stackoverflow.com/questions/26300038
复制