无法检测是否滚动到div的底部

时间:2016-08-18 03:49:37

标签: javascript jquery

以下是我的代码(仅适用于chrome),
所有浏览器都可以检测滚动事件:System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions

但不是如果它滚动到div的底部(我需要帮助来改变这行代码)

$(".container").on('scroll', function() {

完整的脚本:

if($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {

尝试: 1)

$(".container").on('scroll', function() {
   if($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {
      alert('ok');
   }  

})

2)

var elem = $(this);
if (elem[0].scrollHeight - elem.scrollTop() == elem.outerHeight())

2 个答案:

答案 0 :(得分:1)

您可以在滚动时绑定div,然后使用

if($(this).scrollTop() + $(this).innerHeight()>=$(this)[0].scrollHeight)

它对我有用。

$(function($)
  {
    $('.container').bind('scroll', function()
                              {
                                if($(this).scrollTop() + $(this).innerHeight()>=$(this)[0].scrollHeight)
                                {
                                  alert('end reached');
                                }
                              })
  }
);

<强> JSFIDDLE

答案 1 :(得分:0)

如果您的div有一些填充或边距,则可以使用externalHeight()代替innerHeight(),这对我有用:

if((element.scrollTop() + element.outerHeight()) >= element[0].scrollHeight)