聊天窗口加入对话后,需要把内容滚动到最下面。通常是用$(n).scrollTop=$(n).scrollHeight; 但是如果有自动换行的情况就定位不准确。
于是就加了一个空的span,标明id,然后使用scrollIntoView。
IE有这个函数,FF居然也有这个函数,虽然在行为上有点区别。
IE的overflow设为auto和scroll都没问题,但是ff如果设为auto则不行,会把整个div伸长,必须强制设为scroll才正确。
这样滚动到最底层是比较准确的。
get_rand_id()是得到一个随机id,不是系统函数。
于是就加了一个空的span,标明id,然后使用scrollIntoView。
IE有这个函数,FF居然也有这个函数,虽然在行为上有点区别。
IE的overflow设为auto和scroll都没问题,但是ff如果设为auto则不行,会把整个div伸长,必须强制设为scroll才正确。
这样滚动到最底层是比较准确的。
function appendHTMLAndScroll(n,html){
var id=get_rand_id();
$(n).innerHTML+=html+"<span id='"+id+"'></span>";
if($(n).scrollIntoView){
if(!document.all){
$(n).style.overflow="scroll";
}
$(id).scrollIntoView(false);
}else{
$(n).style.overflow="scroll";
$(n).scrollTop=$(n).scrollHeight;
}
}
get_rand_id()是得到一个随机id,不是系统函数。