我正在为网站创建导航菜单。当用户滚动过点497px时,它需要改变颜色。我已经写了这个剧本:JQuery偏移脚本
$(document).ready(function(){
function checkOffset() {
var offset = $(document).scrollTop();
console.log(offset);
if(offset > 497){
$("#fixedBar").animate({backgroundColor: '#1B1B1B'}, 1000);
$("#fixedBar nav a").animate({color: '#FFF'}, 1000);
}else{
$("#fixedBar").animate({backgroundColor: '#FFF'}, 1000);
$("nav a").animate({color: '#1B1B1B'}, 1000);
}
}
$(window).scroll(function() {
checkOffset();
});
});
如果我刷新页面,这是过去的那个点,然后它确实改变了,但是如果我只是滚过这一点,然后它不会改变。我怎样才能解决这个问题?
您的脚本可能有效。但是因为你在每张卷轴上制作动画。有连续动画周期的机会。我的建议是先暂时将'animate'改为'css'方法,看看它是否有效。如果确实如此,请确保在动画之前调用'stop()',请参阅URL https://api.jquery.com/stop/ –
是的。 – Jon
然后,让我添加这个答案。让这对其他人也有用。 –