gpt4 book ai didi

javascript - 检测滚动元素之间的距离

转载 作者:太空宇宙 更新时间:2023-11-04 01:19:36 24 4
gpt4 key购买 nike

我正在使用 jQuery 更改屏幕顶部的固定 div top:0。当滚动到某个点时,类会发生变化,CSS 也会发生变化。太好了。

但是,我一直在寻找更好的方法。由于我在距离内容 block 30px 时更改它,因此我在下面所做的操作效果不佳,因为它使用的是固定高度:

$(function(){
$(document).scroll(function() {
var x = $(this).scrollTop();
if(x > 2025) {
if($(window).width() > 950) {
$('.topFullWidthWhite').addClass('nonStick');
}
} else {
$('.topFullWidthWhite').removeClass('nonStick');
}
});
});

所以...

有没有一种方法可以按照...做更多的事情

if(x <= 20 from /* HTML ELEMENT */){
//DO WHATEVER HERE
}

如果有一种方法可以相对于其他元素而不是文档高度来做到这一点,那就太好了。

谢谢!

最佳答案

尝试为您想要更改 css 的特定元素使用 offset().top

$(window).on("scroll", function() {
var two = $(".two").offset().top;
if ($(this).scrollTop() > two - 20) {
$(".two").addClass("reached");
} else {
$(".two").removeClass("reached");
}
})
body {
margin-bottom: 400px;
}

.one {
height: 150px;
background: green;
margin-bottom: 20px;
}

.two {
height: 100px;
background: blue;
}

.two.reached {
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="one"></div>
<div class="two"></div>

关于javascript - 检测滚动元素之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49362051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com