滚动列表项以使其可见?

时间:2010-09-05 03:39:56

标签: jquery scroll

我有一堆包含大量元素的列表。通常需要滚动条来显示所有内容。我在运行时将项添加到列表中。有没有办法滚动特定的列表元素,以确保它可见?:

<ul id='parent'>
  <li>blah</li>
  ...
  <li id='nthItem'>blah</li>
</ul>

$('#parent').scrollChildToVisible('nthItem');

类似的东西?

由于

1 个答案:

答案 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");

jsFiddle example

最后,在jQuery中选择id使用

$("#nthItem") // correct for an ID

$("nthItem") // incorrect