使用jquery

时间:2016-06-07 08:21:57

标签: jquery scroll

我将产品列在彼此之下(每个产品具有相同的类productItem),并想要创建以下内容

当用户滚动到产品并且当一个产品开始可见时,我需要在底部显示当前可见产品的一些信息,如价格,标题,链接等固定位置。

我已经尝试了以下代码,但它不起作用,因为我的元素具有相同的类

$.fn.isOnScreen = function(){
        var win = $(window);
        var viewport = {
            top : win.scrollTop(),
            left : win.scrollLeft()
        };
        viewport.right = viewport.left + win.width();
        viewport.bottom = viewport.top + win.height();

        var bounds = this.offset();
        bounds.right = bounds.left + this.outerWidth();
        bounds.bottom = bounds.top + this.outerHeight();
        return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom));
    };
    jQuery(document).scroll(function(){
        alert(jQuery('.productItem').isOnScreen());
    });

我知道如何解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:1)

您是否尝试将功能应用于每个元素? 并且,您应该使用控制台来调试它,而不是警报;)

$('.productItem').each(function(){ 
    console.log($(this).isOnScreen());
});