无法让Jquery平滑滚动工作

时间:2013-06-13 18:45:34

标签: javascript jquery scroll smooth-scrolling

我一直在拉我的头发试图在同一页面上功能平滑滚动到ID。我已经尝试了几乎我在谷歌上找到的每个解决方案。我得到了一个点,当它似乎一切都应该工作,但即使是基本的非js id链接断裂。我目前正在使用从jquery网站下载的平滑滚动插件。目前的代码就是这样。我不太了解JS或Jquery所以我认为我只是缺少一些东西。我检查平滑滚动的功能版本的代码,但即使在 我完全在页面内链接断开:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Simon Moon Landings</title>
<link href="style.css" rel="stylesheet" type="text/css">
<link href='http://fonts.googleapis.com/css?family=Noticia+Text:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.smooth-scroll.js"></script>
<script>
    $(document).ready(function() {
      $('ul.mainnav a').smoothScroll();
    });

  </script>
</head>

<body>
<div class="container">

<div class="menu">
<nav>
<ul class="mainnav">
<li><a href="#one">one</a></li>
<li><a href="#two">two</a></li>
<li><a href="#three">three</a></li>
<li><a href="#four">four</a></li>
<li><a href="#five">five</a></li>
<li><a href="#six">six</a></li>
</ul>
</nav>
<img class="logo" src="images/smlogo.gif" width="450" height="288" alt="Simon Moon Landings Logo" onmouseover="on();" onmouseout="off();"></nav>
</div>

<div class="content">

<div class="section" id="one">
<h4>One</h4>

</div>
<div class="section" id="two">
<h4>Two</h4>

</div>
<div class="section" id="three">
<h4>Three</h4>

</div>
<div class="section" id="four">
<h4>Four</h4>

</div>
<div class="section">
<a id="five"><h4>Five</h4></a>

</div>
<div class="section">
<a id="six"><h4>six</h4></a>

</div>
</div>

</div>


</body>
</html>

4 个答案:

答案 0 :(得分:1)

我发现了问题。它根本不在脚本中,而是在CSS中。我有一个两列布局,菜单和锚点在一列(.menu),目标div在另一列(.content)我应用poisiton:固定到菜单,它开始工作。

答案 1 :(得分:0)

这里工作正常。

确保jquery-smooth-scroll的URL正确无误。

我使用了jquery-smooth-scroll的这个副本来测试你的代码:https://github.com/kswedberg/jquery-smooth-scroll

答案 2 :(得分:0)

它对我有用。请参阅此示例:http://jsbin.com/ixefet/1/edit

我所做的只是将平滑滚动JavaScript的src更改为在线版本(https://raw.github.com/kswedberg/jquery-smooth-scroll/master/jquery.smooth-scroll.min.js)并添加一些文字,以便您可以看到滚动发生。

听起来你使用错误的src来表示平滑的滚动脚本(如果是这种情况,那么你的JavaScript错误日志应该说undefined function: $.smoothScroll或类似的东西)。

答案 3 :(得分:0)

在测试jsfiddle时,它对我有用,

here you go

http://jsfiddle.net/mastermindw/XvV9W/1/