【发布时间】:2016-01-13 07:27:41
【问题描述】:
我有一个 ID 为“page-content”的div,它没有height 或width,它只有一个空白div。
我正在动态地用内容填充div,所以div 的高度不断增长,我正在聊天,我想检测我是在 div 的底部还是在最后div 总高度的 10%,如果为真,则滚动到底部
var box = $('#page-content');
if (box.scrollTop() > (box.height*0.90))
box.scrollTop(25000); // This is the top bottom
我想要做的是,检查你是否在"#page-content" div 的最后 10% 或更少的顶部底部高度(而不是当我在 div 开头阅读“旧消息”时),我有一个附加新消息的功能,但我需要手动向下滚动才能看到新消息......所以我想自动滚动到 New 底部,以便我可以看到新消息:)
更新:
function getChat() {
$.ajax({
type: "GET",
url: "refresh.php?lastTimeID=" + lastTimeID
}).done( function( data )
{
var jsonData = JSON.parse(data);
var jsonLength = jsonData.results.length;
var html = "";
for (var i = 0; i < jsonLength; i++) {
var result = jsonData.results[i];
html += '<span class="color-'+result.color+'"><b>'+result.usrname+'</b></span> <i class="fa fa-angle-right"></i> '+result.chattext+'<br>';
lastTimeID = result.id;
}
$('#page-content').append(html);
if(html!="")
{
// Here i need to check if the scroll position is in the bottom or in the last 10%
//then this to scroll to the top bottom (25000 is height limit)
$('.page-content').scrollTop(25000);
}
}); }
【问题讨论】:
-
请添加您的 html 消息。还有你的消息附加脚本
-
stackoverflow.com/questions/20892217/… 我认为正是你所需要的
-
我已经附加了我的函数来获取新消息,我只是把 25000 作为一个非常大的数字放在那里,我永远不会到达那个位置因为我已经设置了 X 条消息的限制,这样我不需要检查“页面内容”高度
标签: javascript jquery