无法获得Jquery平滑滚动工作

Unable to get Jquery Smooth scrolling to work

本文关键字:平滑 滚动 工作 Jquery      更新时间:2023-09-26

我一直在拉我的头发试图得到功能平滑滚动到同一页面上的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>

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

这里可以正常工作。

确保jquery-smooth-scroll的URL是正确的

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

适合我。参见这个例子:http://jsbin.com/ixefet/1/edit

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

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

它在jsfiddle上测试时为我工作,

here you go
http://jsfiddle.net/mastermindw/XvV9W/1/