我正在爲網站創建導航菜單。當用戶滾動過點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
然後,讓我添加這個答案。讓這對其他人也有用。 –