我编写了一些jQuery代码,它根据我的网页的哪一部分改变了我的导航/标题的颜色。它的工作原理并不完美,有时它会在中间部分发生变化,或者错误的颜色变成错误的部分。使用jQuery更改导航颜色导致混合结果
这里是我的jQuery代码:
$(document).ready(function() {
var top1 = $('#home').offset().top;
var top2 = $('#featuredWork').offset().top - headerHeight;
var top3 = $('#caseStudy').offset().top - headerHeight;
var top4 = $('#about').offset().top - headerHeight;
var top5 = $('#contact').offset().top - headerHeight;
//Change colour of header bar and elements based on which section the user is on
$(document).scroll(function() {
if ($(document).scrollTop() >= top1 && $(document).scrollTop() < top2) {
$('#header').css('background-color', '#dadfe0');
$('.nav').css('color', '#21303f');
} else if ($(document).scrollTop() >= top2 && $(document).scrollTop() < top3) {
$('#header').css('background-color', '#21303f');
$('.nav').css('color', '#dadfe0');
} else if ($(document).scrollTop() >= top3 && $(document).scrollTop() < top4) {
$('#header').css('background-color', '#dadfe0');
$('.nav').css('color', '#21303f');
} else if ($(document).scrollTop() >= top4 && $(document).scrollTop() < top5) {
$('#header').css('background-color', '#21303f');
$('.nav').css('color', '#dadfe0');
} else if ($(document).scrollTop() >= top5) {
$('#header').css('background-color', '#dadfe0');
$('.nav').css('color', '#21303f');
}
});
});
这是我未完成的投资组合的网站,这个错误发生,有时它工作在页面加载时,其他时间不那么
如果有人能给我一些洞察,为什么这不是完美的工作,每次都会很好
首先想到的是,您需要考虑每个部分的高度。 – reinder