我使用jquery创建了一个动态div,并希望div的滚动条在页面加载时从屏幕底部开始,然后每当有新信息出现时它就会自动关闭。我的代码似乎在firefox和Internet Explorer上工作正常,但不是chrome,我不确定为什么。
$(function(){
$("#divID").scrollTop($("#divID")[0].scrollHeight);
$("#divID").scroll(function(){
if($(this)[0].scrollHeight - $(this).scrollTop() === $(this).outerHeight())
{
//added alert here because i know the scrolling down code works...
alert(1);
}
});
}
我到处寻找并尝试了许多不同的方法来向下滚动栏,但无济于事,Chrome似乎并不希望这样做。
如果我能解决这个问题,我将不胜感激。
编辑:这是一个演示Demo
再次编辑:抱歉,我不善于解释自己,尽力做到,屏幕加载时必须出现消息框。
答案 0 :(得分:0)
您的事件未触发,因为您在最初滚动之后之后才设置事件侦听器,请尝试以下代码:
演示:http://jsfiddle.net/SO_AMK/watWg/
jQuery:
$("#divID").scroll(function(){
if($(this)[0].scrollHeight - $(this).scrollTop() == $(this).outerHeight())
{
alert(1);
}
}).scrollTop($("#divID")[0].scrollHeight);
或者,如果您愿意,可以使用纯JavaScript执行此操作:http://jsfiddle.net/SO_AMK/eJCnU/