DIV自动滚动不起作用

时间:2011-09-06 02:27:52

标签: jquery ajax html scroll jquery-animate

我有一个自动滚动到底部的d​​iv。但是,只要在一个聊天帖中使用了很多表情符号,自动滚动就会停止正常工作,它会从底部滚动2行。

我确实试过这个..

 $("#chatbox").animate({ scrollTop: newscrollHeight }, 'normal');

但div每3秒自动加载一次,因此每次加载动画效果都会显示。

我可以使用什么来确保它有效?

这是完整的功能......

setInterval(function loadLog(){     
        var oldscrollHeight = $("#chatbox").prop("scrollHeight") - 20;
        $.ajax({
            url: "log.php",
            cache: false,
            success: function(html){        
                $("#chatbox").html(html); //Insert chat log into the #chatbox div               
                var newscrollHeight = $("#chatbox").prop("scrollHeight") - 20; //Scroll height after the request  
                $("#chatbox").animate({ scrollTop: newscrollHeight }, 'normal'); //Autoscroll to bottom of div

            },
        });
    }, 3500);

1 个答案:

答案 0 :(得分:0)

setInterval(function(){scroller()}, 3500);
function scroller(){
$("#chatbox").load("log.php");
$("#chatbox").each( function(){
var scrollHeight = Math.max(this.scrollHeight, this.clientHeight);
this.scrollTop = scrollHeight - this.clientHeight;
});
}