2014-06-09 49 views
2

我试图在网站上使用粘滞导航进行一些操作。我可以在除Firefox之外的所有浏览器中工作。Firefox未响应.addClass

  1. 我希望在窗口滚动时更改链接。

  2. 我想添加一个类来改变某个点的导航。

下面是在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'); 
    } 




}); 

火狐是否不给setInterval什么回应?提前致谢!

+0

你可以制作一个JSFiddle吗? – joews

+1

'setInterval'需要等待**延迟时间**。什么是你想要的延迟?例如:'setInterval(function(){...},3000);' –

+1

@SimchaKhabinsky非常感谢!这立即解决了问题。我希望我有足够的代表提出你的答案。感谢真棒的答案。 :) –

回答

0

setInterval需要**延迟时间**等待。什么是你想要的延迟?例如:setInterval(function(){...}, 3000);