滚动到li元素 - jquery

Ran*_*Ran 14 html javascript jquery

我有一个"ul"包含很多"li"(几百),ul有一个约400px的固定高度和css属性溢出:滚动,每个li的高度为40px所以在每个给定的时刻都没有超过10个可见的li(其余的需要滚动到).如何将ul的滚动位置(使用jquery)更改为特定的li?

有什么想法吗?

lon*_*day 29

你需要做这样的事情:

$('#yourUL').scrollTop($('#yourUL li:nth-child(14)').position().top);
Run Code Online (Sandbox Code Playgroud)

如果你想动画它,做

$('#yourUL').animate({
     scrollTop: $('#yourUL li:nth-child(14)').position().top
}, 'slow');
Run Code Online (Sandbox Code Playgroud)

显然适应14不同的lis.


Sun*_*000 22

我接近使用@lonesomeday的答案,但我发现我必须li从第一个开始计算特定的相对位置,li因为它根据包含的当前滚动位置而改变ul.

$('#yourUL').scrollTop($('#yourUL li:nth-child(14)').position().top - $('#yourUL li:first').position().top)
Run Code Online (Sandbox Code Playgroud)