jquery:$()。animate()不是函数

我做了很多搜索,无法找到我的问题的答案,所以这里。

我正在尝试使用本教程创建一个滑动切换菜单,我收到错误slideoutMenu.animate is not a function

这是有问题的html div:

  

Toggle

  • Add new task
  • See completed tasks
  • Go to metrics page

这是我的js函数:

 $(document).ready(function(){ $('.slideout-menu-toggle').on('click', function(event){ event.preventDefault(); console.log("in the toggle func"); var slideoutMenu = $(".slideout-menu"); var slideoutMenuWidth = $(".slideout-menu").width(); console.log("width : " + slideoutMenuWidth); slideoutMenu.toggleClass("open"); if(slideoutMenu.hasClass("open")){ console.log("open...."); slideoutMenu.animate({ left: "0px" }, 500); } else { slideoutMenu.animate({ left: -slideoutWidth }, 250); } }); }); 

我已经尝试了很多东西,将上面的内容包含在一个简单的javascript函数中并使用

 (function($){ // code here }) 

但它们都会导致同样的错误。 我发现这个问题与stackoverflow上的问题有关,主要是指导用户使用’animate’代替’animated’,或者确保他们使用jquery obj而不是dom obj。

浏览了很多其他人,但他们只是我已经做过的变化。 在firefox和chrome中测试过。

添加控制台日志语句时控制台.log console.log($.fn.jquery); 我明白了:

 3.1.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector,-deprecated 

谢谢。

您似乎使用的是jQuery 3.1.0的瘦身版本,它不包含大部分库。 相反,您应该使用完整版本。

https://code.jquery.com/jquery-3.1.0.js