我有一段代码片段,它旨在更改我的固定导航的颜色以匹配用户滚动过去的div。在类滚动时更改导航
我遇到的问题是,因为在整个页面中存在多个相同元素的实例,所以当用户不在本身时,它们都尝试删除背景类。
我怎么才能得到这个只有当使用滚动的元素,而不是当它是在区域之外触发?
我是新来的jQuery,所以任何意见将不胜感激。 谢谢!
$(window).scroll(function(){
$(".banner").each(function(){
var windowScroll = $(window).scrollTop(),
bannerTop = $(this).offset().top,
bannerHeight = $(this).outerHeight(),
bannerbottom = (bannerTop + bannerHeight),
bgColor = $(this).attr("primary-colour");
// When the window scrolls over the banner then change the nav colour
if ((windowScroll >= bannerTop) && (windowScroll <= bannerbottom)) {
$(".body-header").css("background", bgColor);
}
else {
$(".body-header").css("background", "");
}
});
});
https://jsfiddle.net/x789qh7m/1/
我们展示的HTML代码或进行的jsfiddle请。 –
@ZakariaAcharki在这里你走我的男人: https://jsfiddle.net/x789qh7m/1/ – ewhicher