2014-10-09 62 views
0

什麼我已經是這樣的:一個頁面滾動鏈接不顯示在URL安克爾

$(document).ready(function(){$('a[href^="#"]').on('click',function(e){e.preventDefault();var t=$(this.hash).offset().top;$('.wrapper').animate({scrollTop:t,},1000)})}); 

,實際上把div的任何地方,如參考:

<div id="about"></div> 

它實際上向下滾動到那些參考點,但我沒有看到在網址中的名稱。當我向下滾動並在關於部分結束時,我希望它以某種方式顯示出來,就像這樣www.site.com/#about

任何想法我做錯了什麼?使用的網站是一個HTML文檔。

回答

0

試用一下這個

$(document).ready(function() { 
    $('a[href^="#"]').on('click', function (e) { 
     e.preventDefault(); 
     var target = this.hash; 
     var t = $(this.hash).offset().top; 
     $('.wrapper').animate({ 
     scrollTop: t, 
     }, 1000, function() { 
      window.location.hash = target; 
     }); 
    }); 
}); 
0

您可以使用HTML5歷史API Good tutorial for using HTML5 History API (Pushstate?)

$(document).ready(function() { 
    $('a[href^="#"]').on('click',function(e) { 
    e.preventDefault(); 
    var t = $(this.hash).offset().top; 
    $('.wrapper').animate({ scrollTop:t }, 1000); 
    history.pushState(null, null, location.href + $(this).href); // <- not sure whether your links are relative or absolute.. do change appropriately.. 
    }) 
}); 
+0

您好,我不斷收到未定義。我究竟做錯了什麼?我的鏈接是絕對的。 – Zack 2014-10-09 08:54:42

+0

你使用什麼瀏覽器?你可以創建一個小提琴或者編輯你的問題來包含html,因爲你的腳本使用''a [href^=「#」]''但你的問題給出了這個例子:'

' – 2014-10-09 09:00:09

相關問題