[英]JQuery Add Class when bottom of div reaches top
我正在尝试在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();
});
任何帮助表示赞赏。
您应该使用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/
添加div的高度。 假设它是.container
:
var menuLinksTop = $('.container').offset().top + $('.container').height();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.