2012-12-04 74 views
0

此代碼在Firefox中工作,但不在Chrome v.23中工作。 當我在調試器中跟蹤代碼時,一切正常,但Chrome不改變類。有任何想法嗎?jquery刪除類不在鉻中工作

$(document).scroll(function() { 

    $('a.nav').each(function() { 

     var divTop = $('#' + this.title).offset().top; 
     var distance = divTop - $("html").scrollTop(); 
     if (distance > 210 && distance < 255) { 

      $('a.active').removeClass('active'); 
      $(this).addClass('active'); 

     } 
    }); 
}); 
+0

但是addClass()和removeClass()在我的鉻合金中工作得很好 – Dineshkani

+0

你可以重新創建問題並在http://jsfiddle.net/ –

+0

上分享代碼喲,代碼將會是一個性能問題。你應該看看節流的滾動。如果你發現一個匹配的活動,你應該退出每個循環。而且你不應該繼續查找html的scrolltop,在每個頁面之外做。 – epascarello

回答

0

問題是針對$(「html」)的scrolltop。

看到這個SO螺紋:jQuery scrollTop() doesn't seem to work in Safari or Chrome (Windows)

見什麼實際發生的與您的方案,即細節的第二個答案嘗試使用$(「身體」)

無論是前兩種解決方案應該工作對你來說,雖然。

+0

謝謝! 用$(「body,html,document」)替換$(「html」)並且在Firefox和Chrome中正常工作。 –