2012-10-18 68 views
0

我使用jquery创建了一个动态div,并希望div的滚动条在页面加载时从屏幕底部开始,然后每当新信息出现时它就会自动下去。我的代码似乎在firefox和Internet Explorer上工作正常,但不是Chrome,我不确定为什么。jQuery滚动条在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); 
     } 
    });​ 
} 

我看着无处不在,尝试了很多不同的方式来滚动拦了下来,但无济于事,铬似乎并不希望这个工作。

如果我能解决这个问题,我将不胜感激。

编辑:这里有一个演示再次Demo

编辑:对不起,我不擅长解释自己,尽我所能,在消息框中的屏幕负载时出现。

+0

尝试使用'$(this)[0] .s crollTop'。如果有的话,请发布演示。 –

+0

@ A.M.K在这里,尝试使用这一个Firefox和铬,看看不同之处。 [链接](http://jsfiddle.net/DgYcY/50/) –

+0

它在Chrome 22中为我工作,尝试使用jQuery 1.8并关闭你的CSS语句,[demo](http://jsfiddle.net/SO_AMK/ YypSn /)。 –

回答

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/

+0

噢,好的,谢谢你的帮助。我会尽力记住这一点,以便我再也不会犯这样的错误。 –

+0

我正在更新我的答案,你真的不需要为此的jQuery。 –

+0

我在我的无JQ演示中犯了一个错误,请重新载入它。 –

相关问题