jQuery“$(…)。effect不是函数”

我已经在论坛中搜索了但是我找不到任何方法来解决我在jQuery中使用“效果”function的问题。

我得到了错误TypeError: $(...).effect is not a function代码中TypeError: $(...).effect is not a function

 $('div.step').removeClass('active'); $("div.step").effect('slide', {direction: 'right', mode: 'hide'}, 500); $('#step' + step + '').addClass('active'); $('#step' + step + '').effect('slide', {direction: 'right', mode: 'show'}, 500); 

我在包含了jQuery和jQuery UI:

   

但是徒劳,你有什么想法吗? 谢谢

您需要在jQuery和jQuery UI声明之后放置自定义脚本,并将其包装在文档ready()函数中:

  ...     

我不知道问题是否已经解决,但我找到了一种方法来复制具有动画function的摇动function,它就像一个魅力:

 function shake() { var div = document.getElementById('yourElementID'); var interval = 100; var distance = 10; var times = 4; $(div).css('position', 'relative'); for (var iter = 0; iter < (times + 1) ; iter++) { $(div).animate({ left: ((iter % 2 == 0 ? distance : distance * -1)) }, interval); } $(div).animate({ left: 0 }, interval); } 

尝试使用

 $(document).ready(function () { $('div.step').removeClass('active'); $("div.step").effect('slide', {direction: 'right', mode: 'hide'}, 500); $('#step' + step + '').addClass('active'); $('#step' + step + '').effect('slide', {direction: 'right', mode: 'show'}, 500); } 

对我来说,事实certificate我的项目是使用Jquery-UI的“自定义下载”版本,该版本已被设置为排除effects插件。 用完整版替换我的Jquery UI版本修复了我的问题。