2014-03-27 26 views
0

我想給一些類的CSS屬性,當我向下滾動。我有一個如下所示的代碼。問題是,第一個和最後一個'如果工作(.second-nav滑落並清晰),但.css代碼不起作用。類沒有得到我寫的CSS。我應該如何維護該代碼?我無法使滾動功能正常工作

$(window).scroll(function() { 

    var scrollPos = $(window).scrollTop(); 

    if (scrollPos>200){ 
     $(".second-nav").slideDown(); 
    } 
    /* not-working area starts here*/ 
    else if (scrollPos>690){ 
     $('.who-btn').css("border-bottom", "5px solid #25bdad"); 
    } 
    else if (scrollPos>1415){ 
     $('.difference-btn').css("border-bottom", "5px solid #25bdad"); 
    } 
    else if (scrollPos>1995){ 
     $('.brands-btn').css("border-bottom", "5px solid #25bdad"); 
    } 
    else if (scrollPos>3604){ 
     $('.contact-btn').css("border-bottom", "5px solid #25bdad"); 
    } 
    /* lol this works */ 
    else if (scrollPos < 199){ 
     $(".second-nav").slideUp(); 
    } 
}); 

回答

0

對於任何scrollPos超過200你的第一個條件會火,所以沒有測試的更高的數字會不斷火。

您需要更改順序,將測試的最高數量第一:

if (scrollPos>3604){ 
    $('.contact-btn').css("border-bottom", "5px solid #25bdad"); 
} 
else if (scrollPos>1995){ 
    $('.brands-btn').css("border-bottom", "5px solid #25bdad"); 
} 
else if (scrollPos>1415){ 
    $('.difference-btn').css("border-bottom", "5px solid #25bdad"); 
} 
else if (scrollPos>690){ 
    $('.who-btn').css("border-bottom", "5px solid #25bdad"); 
} 
else if (scrollPos>200){ 
    $(".second-nav").slideDown(); 
} 
else { 
    $(".second-nav").slideUp(); 
} 
1

每個「else if」都覆蓋前面「if」中的語句。 你需要做的是這樣的:

if (scrollPos <= 200) 
{ 
    $(".second-nav").slideUp(); 
} 
else if (scrollPos >= 690 && scrollPos <= 1414){ 
    $('.who-btn').css("border-bottom", "5px solid #25bdad"); 
}