我在这里写了我的代码。
setInterval(
function (data){
var alreadyScrolled = $("#smallBox").height() >= $("#smallBox").get()[0].scrollHeight;
$("#smallBox").append(data + "<br />");
if (alreadyScrolled) {
$("#smallBox").scrollTop($("#smallBox").heightoffsetHeight)
}
},
1000,
Date()
);
<div id="largeBox">
<div id="smallBox">
</div>
<input />
</div>
我想要做的是,检测滚动条是否在窗口的底部,如果是,将新数据附加到 div 中,然后向下滚动到底部。如果滚动条尚未位于底部,则什么也不做。
我不确定我可以使用 DOM 或 jquery API 的哪些部分来完成此操作,我一直在尝试多种事情并且有点卡在这里,就滚动条的位置而言,似乎没有什么能给我一个价值,以及我可以滚动多少。如果我能得到这个百分比值会很棒。
我不想使用 jQuery 之外的任何库,这意味着也没有插件。
我希望获得我们在 SO 聊天室中看到的相同行为,只是它似乎使用 ScrollTo 插件来完成它的工作。
更新。
我不能只使用 .height() 和 .scrollTop,它们不匹配。
看到这个:http: //jsfiddle.net/qSx3M/6/