不错,我的这个很类似聊天室。典型的聊天室显示聊天记录的要么是Window本身,要么是iframe,这两个对象的滚动有不少方法,比如scrollTo(),scrollBy(),scroll()。常见的写法是:....window.scroll(0, 65000) - 给一个足够大的滚动值。我用的是div,不支持上面的方法,且我觉得,要是用给极大值的方法,我把那个doScroll()循环几次就行了,可是这样子比较没意思。这个不是项目,希望能做的精致些,呵呵。
调试欢乐多
稍等一秒钟嘛!
然后document.all("rowID").scrollIntoView(true);
rowID是你自己设的,就可以了
用innerHTML的话,整个DIV里的HTML都会由IE重新解释一遍,所以会很费时。
事实上楼主的要求只是不停的往后面加东西,所以用.insertAdjacentHTML效率会得到改善,因为IE并不需只重新解释DIV里的所有内容,而只需要解释新加的内容即可。
代码如下,当加入的是一个marquee时,用.insertAdjacentHTML与用innerHTML效果会有明显不同。<script>
function ShowMsg()
{
theDiv.insertAdjacentHTML("BeforeEnd","<br>"+document.all.helloText .value);
//theDiv.innerHTML += "<br>"+document.all.helloText .value;
theDiv.doScroll("scrollbarPageDown");
}
</script>
<div id="theDiv" style="width: 100%; height: 200px; overflow: auto;"></div>
<input name=helloText value="<marquee>fdsafdsa</marquee>"><input type=submit value=ok onclick="ShowMsg()">
也可以用
theDiv.scrollTop=1000000