div的里的内容滚动到底

聊天窗口加入对话后,需要把内容滚动到最下面。通常是用$(n).scrollTop=$(n).scrollHeight; 但是如果有自动换行的情况就定位不准确。

于是就加了一个空的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,不是系统函数。

你可能感兴趣的:(html,IE)