2012-02-04 62 views
0

我有一個頁面設計與滾動使用此代碼的jQuery回落至#div工作正常,但我需要的是將href更改爲「#about」,以便在點擊鏈接時更新網址。在這種情況下,我不知道如何繼續放鬆。滾動通過鏈接使用jQuery來平滑滾動,並保持網址

感謝

編輯 所以對我的作品不夠好,這一個:

<a href="#contact" onclick="return scrollMe('contact');"> 

回答

0

爲什麼不簡單設置id正確設置錨點href?像這樣,例如:

<a href="#about" onclick="scrollMe('about'); return false;">About</a> 

這正確設置瀏覽器的位置,因此它可以被複制和傳輸。但是如果您希望在從其他頁面打開頁面時播放動畫,而不是在加載頁面後調用scrollMe(location.hash)

注意:location.hash可能注意到在某些瀏覽器上的工作。

+0

只有 像以前一樣工作 – Jan 2012-02-04 22:07:26

+0

@ user1189382如果您提供了一些代碼,我可以找出問題所在。至於你的評論,可能你有'return false'語句或者smth在你的'scrollMe()'函數中引發了一個異常,它會停止事件傳播,所以你的代碼工作。另一個問題:你的意思是'工作' - 順利滾動而不立即跳到錨點? – 2012-02-05 09:04:20

1

的快速和骯髒的方法是隻需添加回報:假的;您的onclick:

<a onclick="ScrollMe('about');return false;" href="#about">About</a> 

然而,更好的辦法是改變它,如下所示:

<a class="about" href="#about">About</a> 

並添加到您的javascript:

jQuery(function($) { 
    $(".about").click(
     function() { 
      scrollMe('about'); 
      return false; 
     } 
    ); 
}); 
+0

也許,更改類屬性不像「動畫」一樣?並從一個元素本身提取href,而不是硬編碼它? – 2012-02-04 17:12:23

0
<a href="#about" onClick="ScrollMe('about'); return false;">About</a> 

那倒做到這一點。