<script type="text/javascript">
var elementshoku = document.getElementById("1on1shoku");
    var lastHeightshoku = elementshoku.scrollHeight;
    function detectChangeshoku(){
        var currentHeightshoku = elementshoku.scrollHeight;
        if(lastHeightshoku != currentHeightshoku){
    alert("xxx");
    elementshoku.scrollTop = currentHeightshoku;
    lastHeightshoku = currentHeightshoku;
        }
    }
    var mesazhet_shoku = setInterval(detectChangeshoku, 200);
</script>


我正在聊天,当用户写消息时,我想将div滚动到底部。我正在使用该功能,但无法正常工作。我确实放了alert();函数来检查上面的函数是否起作用。我尝试了很多方法,但是没有一个起作用。知道为什么它不起作用吗?

谢谢



编辑:

我看到我的问题还不够清楚。我正在聊天,并且如果有新消息要发布,我希望div自动滚动到底部。在这个答案中,据说是这样https://stackoverflow.com/a/7666680/1932887这样做的,但是它对我不起作用。任何想法?

最佳答案

使用jQuery:

jqEl.scrollTop(jqEl.scrollHeight());


使用DOM:

oEl.scrollTop = oEl.scrollHeight;


fiddle

10-06 03:11