滚动事件在jQuery 1.9.1或更高版本中不起作用

滚动事件在jQuery 1.9.1或更高版本中不起作用,jquery,scroll,counter,Jquery,Scroll,Counter,当用户滚动到页面的指定部分时,我使用滚动事件加载新的内容块。这在jQuery1.8.3中工作得很好,但是使用了更多的最新库,这就破坏了它。有人知道在以后的库中不推荐使用代码的哪一部分,以及我如何更新代码吗 $(window).scroll(function () { $banner = $('#counterDisplay').position(); $triggerPos = $('div.img:nth-of-type('+$imgNumber+')').position

当用户滚动到页面的指定部分时,我使用滚动事件加载新的内容块。这在jQuery1.8.3中工作得很好,但是使用了更多的最新库,这就破坏了它。有人知道在以后的库中不推荐使用代码的哪一部分,以及我如何更新代码吗

$(window).scroll(function () {  
    $banner = $('#counterDisplay').position();
    $triggerPos = $('div.img:nth-of-type('+$imgNumber+')').position();
    if ($banner.top >= $triggerPos.top) {
        $counter = $counter + 1;
        $('#page').text($counter);
        $('#counter').text($counter);

        for (i = $imgNumber + 1; i < $imgNumber + 10; i++) {
            $imgDiv = "<div class='img'>" + i + "</div>";
            $('#main').append($imgDiv);
        }
        $imgNumber = $imgNumber + 9;
        $('#imgs').text($imgNumber);
        $pageHeight = $pageHeight + 1000;
        $('#container').css('height',$pageHeight+'px');
    };
});
$(窗口)。滚动(函数(){
$banner=$(“#计数器显示”).position();
$triggerPos=$('div.img:nth类型('+$imgNumber+')).position();
如果($banner.top>=$triggerPos.top){
$counter=$counter+1;
$(“#页”).text($counter);
$(“#计数器”).text($counter);
对于(i=$imgNumber+1;i<$imgNumber+10;i++){
$imgDiv=”“+i+”;
$('#main')。追加($imgDiv);
}
$imgNumber=$imgNumber+9;
$('imgs').text($imgNumber);
$pageHeight=$pageHeight+1000;
$('#container').css('height',$pageHeight+'px');
};
});

可以在此处查看工作模型:

问题似乎是以下几行:-

$banner = $('#counterDisplay').position();
在较新版本的jQuery中,
top
属性总是返回
0

您可以改为使用以下方法进行修复:

我认为下面解释了这种行为,尽管我不确定为什么它在新版本中的行为会有所不同(我找不到任何记录它的东西):

.position()方法允许我们检索 相对于偏移父对象的元素。将此与 .offset(),它检索相对于 文件。当将新元素放置在另一个元素附近并在其中时 包含相同的DOM元素,.position()更有用


问题似乎出现在以下行:-

$banner = $('#counterDisplay').position();
在较新版本的jQuery中,
top
属性总是返回
0

您可以改为使用以下方法进行修复:

我认为下面解释了这种行为,尽管我不确定为什么它在新版本中的行为会有所不同(我找不到任何记录它的东西):

.position()方法允许我们检索 相对于偏移父对象的元素。将此与 .offset(),它检索相对于 文件。当将新元素放置在另一个元素附近并在其中时 包含相同的DOM元素,.position()更有用


那是赢家。很好地解决了这个问题,我以前见过使用offset,但在文档中看不到任何东西,在我看来,最好使用over位置。这就是赢家。很好地解决了这个问题,我以前见过使用offset,但在文档中看不到任何东西,在我看来,最好使用over位置。