获取并比较DIV位置和滚动

时间:2014-02-03 20:42:45

标签: javascript jquery html css

我需要比较滚动位置和元素位置(相对于窗口顶部),当两者具有相同的值时,做一些事情(这种情况console.log("we are the same"))。

我尝试了以下代码,但它无效。我添加了一张图片以便更好地解释。

if ($('.contenedorbusiness figure').length) {
    $(document).scroll(function(event) {

        var alto_total = $(this).scrollTop();
        var loader_business = $('.loader_business').offset().top;

        if (alto_total  == loader_business.top) {
            console.log(alto_total + " == " + parseInt(loader_business));
        }
    });
}

我想要的是:

Image

2 个答案:

答案 0 :(得分:0)

将此更改为alto_total == loader_business.topalto_total == loader_business

.top是存储在变量中的内容,因此在比较中无需执行此操作。

<强> DEMO

我取出了您的初始if语句,因此请确保其中的代码正在运行。您还会注意到无法快速滚动。如果您滚动浏览它而不暂停,则不会触发警报。

答案 1 :(得分:0)

以下更安全。 ==可能会错过标记。

$(document).on("scroll", function (event) {
    var alto_total = $(this).scrollTop();
    var loader_business = $('div').offset();
    console.log(alto_total + " == " + loader_business.top);
    if (alto_total >= loader_business.top) {
        alert('tomalo');
        $(document).off("scroll");
    }
});

Fiddle