2017-02-27 222 views
0

我有一個固定的標題滾動添加類'固定'這工作正常。我向下滾動,並在50px類'固定'後添加到我的標題容器,當我回滾了'固定'類被刪除。添加類jQuery其他如果

現在在我的博客頁面上,我希望「固定」類始終在那裏,所以在頁面加載時,甚至在滾動上下後,我希望類「固定」總是添加到我的標題容器。

我使用,如果在我的js else語句,但我似乎無法得到它的工作權利:

//Fixed header on scroll 
    $(window).scroll(function() {  
     var scroll = $(window).scrollTop(); 

     if (scroll >= 50) { 
      $(".header-wrapper").addClass("fixed"); 
     } else if { 
      $('.blog .header-wrapper').addClass('fixed'); 
     } else { 
      $(".header-wrapper").removeClass("fixed"); 
     } 
    }); 

任何想法如何排序呢?

回答

3

這使得更多的意義:設置在博客和測試固定類,如果我們有一個博客或不添加滾動事件處理程序

$('.blog .header-wrapper').addClass('fixed'); 
if ($(".blog").length==0) { 
    $(window).scroll(function() {  
    $(".header-wrapper").toggleClass("fixed",$(window).scrollTop()>=50); 
    }); 
} 

請注意,滾動事件被觸發的每一個像素,所以你可能要debounce it

+0

完美的歡呼聲和謝謝你的反彈鏈接。 – alexgomy

1

你必須使用條件if子句中像這樣:

//Fixed header on scroll 
$(window).scroll(function() {  
    var scroll = $(window).scrollTop(); 

    if (scroll >= 50) { 
     $(".header-wrapper").addClass("fixed"); 
    } else if($('.blog .header-wraper').length > 0) { 
     $('.blog .header-wrapper').addClass('fixed'); 
    } else { 
     $(".header-wrapper").removeClass("fixed"); 
    } 
});