当div的底部到达顶部时,JQuery Add Class

时间:2014-10-15 21:02:52

标签: javascript jquery scroll

我想在div的底部到达窗口顶部时添加一个类,但我不知道该怎么做。 当div的顶部到达窗口的顶部时,我设法添加了类,但是在div的底部没有太多运气。

我正在使用的代码:

$(document).ready(function() {  
var menuLinksTop = $('.container').offset().top;  

var menuLinks = function(){  
    var scrollTop = $(window).scrollTop();  

    if (scrollTop > menuLinksTop) {   
        $('header').addClass('black-links');  
    } else {
        $('header').removeClass('black-links');   
    }
};

menuLinks();  

$(window).scroll(function() {  
    menuLinks();  
});

感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

您应该使用javascript的getBoundingClientRect()方法,观看$(window).scroll事件,并查看元素的矩形,其bottom值将为您提供所需内容(如果它为负数,则您的元素为全部顺便说一句)

$(window).scroll(function() {
    console.log($("div.watch")[0].getBoundingClientRect());
    if ($("div.watch")[0].getBoundingClientRect().bottom < 0)
        alert ("i'm out :3");
});

请参阅jsFiddle http://jsfiddle.net/ja5nnbwr/2/

答案 1 :(得分:1)

添加div的高度。假设它是.container

var menuLinksTop = $('.container').offset().top + $('.container').height();