2015-04-21 27 views
0

!$catalog.hasClass('catalog-fixed')在第6行的值始終爲true任何問題hasClass

$(window).scroll(function(){ 
 
     var $catalog = $(".catalog-brief"); 
 
     var sideTop = $catalog.offset().top; 
 
     if (sideTop < 1000){ 
 
      // always true 
 
      if (!$catalog.hasClass('catalog-fixed')) $catalog.addClass("catalog-fixed"); 
 
     } else { 
 
      if ($catalog.hasClass('catalog-fixed')) $catalog.removeClass("catalog-fixed"); 
 
    } 
 
})

但能正常工作

var $catalog = $(".catalog-brief"); 
 
var sideTop = $catalog.offset().top; 
 
$(window).scroll(function(){ 
 
     if (sideTop < 1000){ 
 
      if (!$catalog.hasClass('catalog-fixed')) $catalog.addClass("catalog-fixed"); 
 
     } else { 
 
      if ($catalog.hasClass('catalog-fixed')) $catalog.removeClass("catalog-fixed"); 
 
    } 
 
})

我犯了什麼錯誤?

+6

這沒有什麼錯'hasClass'的,但好像你真的應該使用**'toggleClass' ** – adeneo

回答

1

嘗試使用window.scrollY而不是當前sideTop的。或者$(window).scrollTop()如果你想使用Jquery。

$(window).scroll(function(){ 
     var $catalog = $(".catalog-brief"); 

     // if ($(window).scrollTop() < 1000) { 
     if (window.scrollY < 1000) { 
      if (!$catalog.hasClass('catalog-fixed')) $catalog.addClass("catalog-fixed"); 

     } else { 
      if ($catalog.hasClass('catalog-fixed')) $catalog.removeClass("catalog-fixed"); 
    } 
});