2012-10-19 47 views
7

我遇到了各種各樣的問題,包括導航欄和平滑滾動。我只是不太瞭解jQuery來排除故障。我使用Chris Coyer的平滑滾動片段:http://css-tricks.com/snippets/jquery/smooth-scrolling/。我的頁面在這裏:http://clients.ekcetera.com/agivingchance平滑滾動的粘滯導航正在跳躍

這裏是我的問題:

  1. 對於任何導航項目,它滾動部分,然後跳轉到該位置。我非常確定,這是因爲我不知道如何解釋粘性標題,所以我把錨點放在了一些位置來說明錨點的高度。所以,它到達錨點並停下來,然後跳轉到正確的視圖。
  2. 單擊後退按鈕時,它看起來並不總是到正確的位置 - 有時它是非常隨機的。我認爲這與問題1有關,並希望它能夠自行解決。我甚至可以很好地將瀏覽器歷史記錄/返回按鈕全部刪除,但正如我所說的,我不足以讓JQuery高手知道要刪除什麼。

有什麼建議嗎?

在此先感謝!

回答

1

使用此代碼Devin Sturgeon的評論對平滑滾動 後。另外我已經添加了一點減法來彌補 你的粘性標題。調整喜歡。

// your functions go here 
$('a[href*=#]:not([href=#])').click(function() { 
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
     || location.hostname == this.hostname) { 

     var target = $(this.hash); 
     target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 
      if (target.length) { 
      $('html,body').animate({ 
       scrollTop: target.offset().top - 181 
      }, 1000); 
      return false; 
     } 
    } 
}); 

2.把你所有的錨要滾動到實際的元素。

(ref:http://css-tricks.com/snippets/jquery/smooth-scrolling/#comment-197181

+0

謝謝!完美工作。 – kgarrett