2014-05-02 80 views
0

我试图创建一个平滑的滚动页面,但它似乎无法正常工作。如果我删除我的网站的平滑滚动方面,锚会像平常一样自动跳转到div元素。JavaScript平滑滚动不起作用

我附上一个的jsfiddle:http://jsfiddle.net/J7sxD/5/

var $root = $('html, body'); 
$('a').click(function() { 
    $root.animate({ 
     scrollTop: $($(this).attr('href')).offset().top 
    }, 500); 
    return false; 
}); 
+0

我没有看到你的'html'里面有'a' – jhyap

+0

@jhyap它们在导航类里面。 –

回答

4

删除overflow-x: hidden;,也将努力

看到这里http://jsfiddle.net/acidrat/Wt2rp/1/

+0

它打破了导航栏。 –

+0

@TaylerKing然后添加它在需要的地方,而不是身体,html否则scrollTop将无法正常工作。 – Timur

0

泰勒,你的jsfiddle样的工作只是为我好,但我会分享一个更简单的方式来做平滑滚动。使用jQuery和jQuery.localScroll插件。

下载最新smoothscroll.js:https://github.com/flesler/jquery.localScroll/releases

添加两个JavaScript引用:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script type="text/javascript" src="javascript/smoothscroll.js"></script> 

然后确保到类 “smoothScroll” 添加到您的<a>链接,就像这样:

<a href="#anchor1" class="smoothScroll">Jump to Page Location</a>