2014-06-09 46 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);