我正在尝试构建一个函数,该函数检查一组div是否在可见视口内。我有以下代码:

$(window).scroll(function(){
    var $w = $(window);
    var bottom_edge_y = $w.scrollTop()  + $w.height();
    var top_edge_y = $w.scrollTop();

    $('#itin_list').children('div').each(function () {
        var scrollTop = $(window).scrollTop(),
        divOffset = $('#'+ $(this).attr('id')).offset().top,
        if(top_edge_y < divOffset< bottom_edge_y){
            alert("caught");
        }
    });
)};


但是,即使divOffset不在if条件中指定的范围内,此代码也会每次发出警报。有什么问题提前致谢。

最佳答案

您的if条件有问题。您不能像这样在一个比较中比较3个数字。

Instead of `if(top_edge_y < divOffset< bottom_edge_y),


用这个:

 if(top_edge_y < divOffset &&  divOffset<bottom_edge_y)`

08-19 06:25