Firefox无法响应.addClass

时间:2014-06-09 16:17:42

标签: javascript jquery html firefox

我正试图在网站上使用粘性导航进行一些操作。我在除Firefox之外的所有浏览器中都可以使用它。

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

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

  3. 以下是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或其他什么?提前谢谢!

1 个答案:

答案 0 :(得分:0)

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