2016-07-28 71 views
8

我已经完成了很多搜索,并且无法找到我的问题的答案,所以在这里。

我想创建一个滑出式切换菜单与this tutorial,而我得到一个错误slideoutMenu.animate is not a function

这里是有问题的HTML DIV:

<div id="corner-button"><a href="#" class="slideout-menu-toggle">myLink</a></div> 

    <div class="slideout-menu"> 
      <h3><a href="#" class="slideout-toggle">Toggle</a></h3> 
      <ul> 
       <li>Add new task</li> 
       <li>See completed tasks</li> 
       <li>Go to metrics page</li> 
      </ul> 
     </div> 

,这里是我的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主要指示用户有'动画'而不是'动画',或确保他们使用jQuery的obj而不是一个dom obj。

通过其他几个人浏览,但他们只是我已经做了什么变化。在Firefox和Chrome中测试。

增加了控制台日志语句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 

感谢。

+0

同时分享HTML .. – Rayon

+0

呃... ...那是没有意义的,因为你的代码。错误是。它不应该发生。 –

+0

html增加了,之前的空间不好 – badperson

回答

42

你似乎在使用jQuery 3.1.0的精简版本,它不包括大部分库。相反,你应该使用完整版本。

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

+0

waw ...一个伟大的答案谢谢:) –

+0

最新版本总是可以找到这里https://developers.google.com/speed/libraries/ – Josh

相关问题