使用任意随机用户名登录并开始发送垃圾邮件,直到您到达DIV的底部。请注意它不滚动?我需要找出原因。
用于滚动的JavaScript代码 :
// Note: CHATBOX_ID = "#chat"
Minte.UI.addChatEntry = function(html)
{
// Add the chat entry...
var entry = '<div>' + this.formatString(html) + '</div>';
$(CHATBOX_ID).html($(CHATBOX_ID).html() + entry);
// .. Then scroll down to the bottom
var chatContentHeight = 0;
var chatHeight = $(CHATBOX_ID).height();
$(CHATBOX_ID + " > div").each(function() {
chatContentHeight += $(this).outerHeight();
});
if (chatContentHeight > chatHeight)
{
var scroll = chatContentHeight - chatHeight;
$(CHATBOX_ID).scrollTop(scroll);
}
};
* 这是#chat:*
的CSSchat {
position: absolute;
left: 0%;
top: 0%;
width: 65%;
height: 100%;
text-align: left;
overflow-y: scroll;
overflow-x: hide;
word-wrap: break-word;
}
我感觉它正在发生,因为#chat绝对定位,但我不知道为什么。 HTML代码相当长,所以我没有在这里发布,但在我链接的页面上,你只需使用View Source查看它。
我花了太多时间试图解决这个问题无济于事。希望你们能帮我解决这个神秘的问题。
答案 0 :(得分:2)
.scrollHeight
元素上的#chat
属性就是您想要的。
$(CHATBOX_ID).scrollTop($(CHATBOX_ID)[0].scrollHeight)
答案 1 :(得分:0)
试试这个:
$(CHATBOX_ID).scrollTop($(CHATBOX_ID).height())
答案 2 :(得分:0)
你不应该在两个高度之间取得差异。只需滚动到较大元素的高度即可。
答案 3 :(得分:0)
在我的情况下,chatContentHeight
最终为462,而chatHeight
为480.因此,最后一个if
语句为false。
使用jQuery有一种更简单的方法。粘贴此处有点长,所以这里是链接:http://kisdigital.wordpress.com/2010/03/10/using-jquery-to-scroll-to-the-bottom-of-a-div-revised/
答案 4 :(得分:0)
或者你可以拨打一些像
这样的巨大号码$("#chat").scrollTop(1e5)