滚动通过链接使用jQuery来平滑滚动,并保持网址

问题描述:

我有一个页面设计与滚动使用此代码的jQuery回落至#div工作正常,但我需要的是将href更改为“#about”,以便在点击链接时更新网址。在这种情况下,我不知道如何继续放松。滚动通过链接使用jQuery来平滑滚动,并保持网址

感谢

编辑 所以对我的作品不够好,这一个:

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

为什么不简单设置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

的快速和肮脏的方法是只需添加回报:假的;您的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

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

那倒做到这一点。