我有一个问题,jQuery的append()函数我chrome。jQuery的追加铬
我正在浏览器聊天,正在从服务器检索长轮询聊天消息。 当客户端收到新消息时,该消息被追加到特定聊天实例div。
紧随追加后,我想滚动设置scrollTop,即“滚动到底部”chat_session_text。 这适用于大多数浏览器,但不适用于Chrome。经过一番研究,append()在chrome中看起来不同步?
如果我在我的代码中记录scrollHeight它显示div的错误高度。但是,如果我将这段代码粘贴到Chrome控制台中,它就是正确的高度!所以,我怀疑DOM没有准备好附加的div。
这里是我的代码:
var strHtmlToAppend = $('<div class="chat_message"><img class="imgThumb2" style="float:left;" src="UserImage.aspx?alias=' + fromUserID + '" border="0" alt="">' + strMsg + '</div>');
$('#' + elm + ' .chat_session_text').append(strHtmlToAppend);
console.log($('#' + elm + ' .chat_session_text').prop("scrollHeight"));
$('#' + elm + ' .chat_session_text').prop({ scrollTop: $('#' + elm + ' .chat_session_text')[0].scrollHeight });
有谁知道如何解决这个问题?也许som种类的回调一旦DOM我准备好了append()函数?
谢谢。
http://jsfiddle.net/dvirazulay/pD7pL/1/ - 它在Chrome中运行得非常好。你能否提供一个jsfiddle来展示它在Chrome中的错误行为? –