我想在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();
});
感谢任何帮助。
答案 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();