我有一堆包含大量元素的列表。通常需要滚动条来显示所有内容。我在运行时将项添加到列表中。有没有办法滚动特定的列表元素,以确保它可见?:
<ul id='parent'>
<li>blah</li>
...
<li id='nthItem'>blah</li>
</ul>
$('#parent').scrollChildToVisible('nthItem');
类似的东西?
由于
答案 0 :(得分:5)
要滚动到元素,您可以使用.animate()。
这是一个滚动到jQuery选择器(如ID)的函数示例:
// This is a function that scrolls to $(selector)
function goToByScroll(selector){
// Scroll
$('html,body').animate({
scrollTop: $(selector).offset().top},
'slow');
}
您可以在必要时触发此功能。例如,在您添加了相关元素之后:
// Append item
$("#parent").append("<li id='nthItem'>blah</li>");
// Scroll to item using function above.
goToByScroll("#nthItem");
最后,在jQuery中选择id
使用
$("#nthItem") // correct for an ID
不
$("nthItem") // incorrect