我的页面上有一个div:

<div id='div1' style='overflow:scroll;overflow-x:hidden;max-height:200px;'></div>

我怎样才能使div滚动到div的底部??不是页面,只是DIV。


当前回答

你可以检查scrollHeight和clientHeight与scrollTop滚动到div底部像下面的代码。

$ (' # div ')。滚动(函数(事件){ if ((parseInt($('#div')[0].scrollHeight) - parseInt(this.clientHeight)) == parseInt($('#div').scrollTop())) { Console.log("这是div的滚动底部"); } });

其他回答

这些都不适合我,我在一个网页应用程序中有一个类似于Facebook messenger的消息系统,并希望消息出现在div的底部。

这是一个基本的Javascript。

window.onload=function () {
     var objDiv = document.getElementById("MyDivElement");
     objDiv.scrollTop = objDiv.scrollHeight;
}

这里的其他解决方案实际上并不适用于具有大量内容的div——它“最大”滚动到div的高度(而不是div内容的高度)。所以它们可以工作,除非你有超过div高度两倍的内容在里面。

下面是正确的版本:

$('#div1').scrollTop($('#div1')[0].scrollHeight);

或jQuery 1.6+版本:

var d = $('#div1');
d.scrollTop(d.prop("scrollHeight"));

或动画:

$("#div1").animate({ scrollTop: $('#div1').prop("scrollHeight")}, 1000);

你可以使用下面的代码滚动到底部的div页面加载。

$(document).ready(function(){
  $('div').scrollTop($('div').scrollHeight);
});

当页面加载时,滚动是最大的值。

这是消息框,当用户发送消息时,总是显示最新的聊天,所以滚动值总是最大的。

$('#message').scrollTop($('#message')[0].scrollHeight);

见图片

下面的方法会有用。请注意[0]和scrollHeight

$("#myDiv").animate({ scrollTop: $("#myDiv")[0].scrollHeight }, 1000);