Javascript 如何使用jquery向下滚动到底部的子div

Javascript 如何使用jquery向下滚动到底部的子div,javascript,jquery,html,Javascript,Jquery,Html,我有以下div结构 <div id="conversation" class="list-view"> <div class="conv"> <div class="msg">Hi 1</div> <div class="msg">Hi 2</div> <div class

我有以下div结构

<div id="conversation" class="list-view">
   <div class="conv">
       <div class="msg">Hi 1</div>
       <div class="msg">Hi 2</div>
       <div class="msg">Hi 3</div>
       <div class="msg">Hi 4</div>
       <div class="msg">Hi 5</div>
       <div class="msg">Hi 6</div>
       <div class="msg">Hi 7</div>
       <div class="msg">Hi 8</div>
       <div class="msg">Hi 9</div>
       <div class="msg">Hi 10</div>
   </div>
</div>

如何向下滚动到底部子分区。父分区的位置是固定的。

您可以使用以下代码:

$('.conv').animate({scrollTop: $('.conv div.msg:last').offset().top});

对于演示:

如果要滚动,您需要固定
.conv
的高度。否则,请使用正文上的滚动条

演示:

JS:

CSS:


您需要为conv div添加css可能与@Jazz重复,我的意思是将您当前的conv div css添加到问题中。我想看看你是否设置了高度是的,我添加了
.conv{max height:401px;overflow:auto;}
。我会使用
position
而不是
offset
你可以使用它,因为.position()方法允许我们检索元素相对于偏移父元素的当前位置,而offset()方法检索相对于文档的当前位置。@sahilgupta,OP要滚动的是偏移量父项,而不是文档Hi,它会滚动到最后一个元素,但在再次滚动后,焦点会转到顶部div。并且可以不div
max height
?您需要有一个高度才能滚动该div。没有该高度,滚动条将不会出现,因此不会发生滚动。因此,您必须在该div上设置一些高度。您可以通过再次在animate.Yes的回调函数中进行相同的登录,滚动回div的顶部。但它是先滚动到底部,然后再滚动到第一个。我只想向下滚动到底部,然后添加新添加元素的索引,而不是选择器中的最后一个子元素。演示:
$('.conv').animate({scrollTop: $('.conv div.msg:last').offset().top});
$(document).ready(function () {
    $('.conv ').animate({
        scrollTop: $('.conv .msg:last-child').position().top
    }, 'slow');
});
.conv {
    max-height:100px; //for demo
    overflow:auto;
}