为什么会出现这个JQuery错误? Animate不是一个功能

时间:2017-03-28 10:48:15

标签: javascript jquery

我正在学习jQuery并试图绕着滚动效果工作。无论如何,我试图使这段代码工作,但这样做有困难。它在运行animate函数时会中断:

我真的很感谢你对这个的帮助。谢谢。

  

未捕获的TypeError:$(...)。animate不是函数
          在HTMLAnchorElement。 (的script.js:58)
          在HTMLDocument.dispatch(jquery-3.1.1.slim.min.js:3)
          在HTMLDocument.q.handle(jquery-3.1.1.slim.min.js:3)



// Select anchor tags to click on 
$(document).on("click", "a", function(event) {
  console.log("item clicked");

  // Clear out the default action  
  event.preventDefault();
  console.log("working until now");

  // Animate to selected selected target
  $("html,body").animate({
    scroll: $($(this).attr('href')).offset().top
  }, 900);
  console.log("no errors for now");
});

<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
<script src="javascript/script.js">
</script>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:24)

这是因为您使用的jQuery版本。 https://code.jquery.com/jquery-3.1.1.slim.min.js

slim版本的jQuery不包含所有原始jQuery函数。

您应该使用full版本。您可以从 here 下载。

如果您阅读本文,将有助于更好地理解 here在某个时刻,你会发现这个陈述,我引用:

  

超薄版

     

最后,我们在此版本中添加了一些新内容。有时你   不需要ajax,或者你更喜欢使用众多独立之一   专注于ajax请求的库。而且通常使用起来更简单   所有网络的CSS和类操作的组合   动画。随着包含的jQuery的常规版本   ajax和效果模块,我们发布了一个“苗条”版本   不包括这些模块。总而言之,它排除了ajax,效果和   目前已弃用的代码。

答案 1 :(得分:2)

slim版本不支持某些方法因此包含此CDN

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>

在你的项目中 然后运行你的代码它将起作用。

答案 2 :(得分:1)

It work for me ----> 
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>

示例:

<html>
    <title>.....</title>
    <body>
    <!-------------------- scripts --------------------------------->
        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> <!- use this->

        <script src="js/navbar-fixed.js"></script>
    </body>
</html>