2012-11-23 46 views
1

我試圖添加頁面錨點之間的平滑過渡。通過錨保存瀏覽器歷史jQuery的scrollTop

在以下代碼中,轉換正在工作,但瀏覽器歷史記錄不記得錨點導航。使用瀏覽器後退按鈕失敗。刪除preventDefault()使一切正常,但頁面在從上一頁面位置滾動到目標標籤內容之前閃爍。

我試過插件 - 比如address - 沒有成功。那麼,通過錨點來保存瀏覽器歷史記錄的簡單方法是什麼?

$('a').click(function(e) { 
    e.preventDefault(); 

    var href = $(this).attr('href'); 
    $('html, body').animate({ 
    scrollTop: $(href).offset().top}, 'slow', 'swing' 
); 
}); 

回答

0

更換

$("html,body").animate({ 

與此

$("html:not(:animated),body:not(:animated)").animate({ 

它也使用來自例如,其它的值​​不同的變量名好習慣HREF用於變量名稱,也是鏈接屬性。