我正试图在网站上使用粘性导航进行一些操作。我在除Firefox之外的所有浏览器中都可以使用它。
我想在窗口滚动时更改链接。
我想添加一个类来更改某个点的导航。
以下是Chrome中的代码:
<section id="nav">
<nav>
<ul>
<li id="p1"><a href="#b" id="nb" class="pill">Snap</a></li>
<li id="p2"><a href="#c" id="nc" class="pill">Organize</a></li>
<li id="p3"><a href="#d" id="nd" class="pill">Store</a></li>
<li id="p4"><a href="#e" id="ne" class="pill">Unify</a></li>
<li id="p5"><a href="#f" id="nf" class="pill">Share</a></li>
<li id="n-play" class="sticky-dl"><a href="https://play.google.com/store/apps/details?id=me.trunx">Get it on Google Play</a></li>
<li id="n-app" class="sticky-dl"><a href="https://itunes.apple.com/app/id739060178?mt=8">Download on the App Store</a></li>
</ul>
</nav>
</section>
Javascript / jQuery
// Auto Nav Active Switching
var nav = $('#nav-sticky-wrapper').height();
var navh = nav+1;
var b = $('section#b').offset().top - navh;
var c = $('section#c').offset().top - navh;
var d = $('section#d').offset().top - navh;
var e = $('section#e').offset().top - navh;
var f = $('section#f').offset().top - navh;
var remove = $('nav ul li a');
setInterval(function() {
if ( $(window).scrollTop() < b ) {
$('section#nav ul').removeClass('stuck');
$('section#nav ul li.sticky-dl').fadeOut(250);
} else {
$('section#nav ul').addClass('stuck');
$('section#nav ul li.sticky-dl').fadeIn(250);
}
if ( $(window).scrollTop() < c ) {
$(remove).removeClass('active');
$('#nb').addClass('active');
} else if ( $(window).scrollTop() >= c && $(window).scrollTop() < d ) {
$(remove).removeClass('active');
$('#nc').addClass('active');
} else if ( $(window).scrollTop() >= d && $(window).scrollTop() < e ) {
$(remove).removeClass('active');
$('#nd').addClass('active');
//bonusoff();
} else if ( $(window).scrollTop() >= e && $(window).scrollTop() < f ) {
$(remove).removeClass('active');
$('#ne').addClass('active');
// Runs Bonus Animation upon Entry
bonus();
} else if ( $(window).scrollTop() >= f ) {
$(remove).removeClass('active');
$('#nf').addClass('active');
}
});
Firefox是否不响应setInterval或其他什么?提前谢谢!
答案 0 :(得分:0)
setInterval
需要等待**延迟时间**。你想要什么延迟?例如:setInterval(function(){...}, 3000);