2013-03-23 105 views
3

比方說,您有以下URL(www.domain.com/page.php#_number)。JQuery平滑滾動到URL的標識

我想從url **(_ 1)**中提取id並在頁面加載時滾動到它。

您的幫助將不勝感激。

感謝您的幫助。

答案: -

$(document).ready(function() { 
    var $root = $('html, body'); 
    var ancloc = window.location.hash; 
    event.preventDefault(); 
     $root.animate({ 
      scrollTop: $(ancloc).offset().top 
     }, 500, function() { 
      window.location.hash = href; 
     }); 
     return false; 
}); 
+0

[獲取與jQuery URL參數](http://stackoverflow.com/questions/1403888/get-url-parameter-with-jquery)。 – Vucko 2013-03-23 12:46:14

+0

我發現'href沒有定義' – 2016-01-11 07:46:03

回答

2

爲什麼不直接使用錨<a href="http://www.domain.com/page.php#number">和動畫效果。 檢查此鏈接: Smooth scrolling when clicking an anchor link

+0

您提供的鏈接僅在點擊事件時觸發。我想提取id並在頁面加載時滾動到它。 – user1852196 2013-03-23 12:44:56

+0

您可以將其更改爲您想要的任何事件。我個人使用'$(document).ready(function(e){}'來加載事件。只需刪除'.click' – 2013-03-23 12:46:34

1

1您可以通過location.hash得到字符串「#編號」。

2,您可以使用jQuery插件一樣jQuery Scrollbar Slider

你並不需要創建點擊事件,它處理的是。

編輯:

如果你想讓它沒有點擊運行,在頁面加載,你必須阻止默認瀏覽器的行爲。因爲瀏覽器會自動滾動。

here is another DEMO that works on page load DEMO

+0

感謝您的幫助。 – user1852196 2013-03-23 12:55:20