TypeError:p.easing [this.easing]不是函数


95

当尝试使用jQuery显示div元素时,出现此错误:

[23:50:35.971] TypeError: p.easing[this.easing] is not a function @ file:///D:/html5%20puzzle/jquery.js:2

相关功能是这样的:

function showWithAnimation(){                  
  console.log('animation called');
  $('#popup').show();
  $("#popup").css({"top": "30%", "left": "30%"})
             .animate({top:(($(window).height()/2)-($('#popup')
             .outerHeight()/2))-70}, 1000, 'easeOutBounce')
             .show();
}

该函数负责显示具有跳动动画的div,但是,显示了div但没有跳动效果。

编辑:

我包括来自CDN的jQuery和jQueryUI库,如下所示(按顺序):

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js'>
</script>

Answers:


142

您需要包括jQueryUI作为扩展的缓动选项。

我认为可能有一个选项,可以仅在下载中包含缓动,或者至少仅在基础库中加上缓动。


10
我包括CDN中的这个文件:<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js'></script> 是吗?还是我应该包括另一个文件?
Malloc 2012年

1
是的,我确实做了,但是总是遇到相同的问题,请看一下我的编辑:)
Malloc

2
哦,我修复了它,我在同一文件中同时包含了jQuery-min和jQuery,这是我的错误。感谢您的帮助:)))
Malloc 2012年

3
你什么意思?你怎么修好它的?
max4ever 2012年

1
是的,我仍然遇到相同的错误,但是我只包含了一个jquery源文件。
2013年

17

对于那些具有自定义jQuery UI构建(例如较高级)的用户,请添加位于中的效果核心..\jquery-ui\ui\effect.js


1
我只需要使用一个效果,因此我可以使用just进行调整import "jquery-ui/ui/effects/effect-slide"。谢谢小费,蒂姆!
aried3r

13

包括这对我有用。

请在本节中包括以下提到的行。

<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js'>


10

jQuery缓动插件从版本1.2起重命名了其效果函数名称。如果您有一些依赖于缓动的JavaScript,但未调用正确的效果名称,则会引发此错误。


5

我今天在尝试在div上启动滑动效果时遇到了此错误。感谢上面的“我讨厌懒惰”(我已投票赞成)的回答,我开始寻找自定义的jQuery UI脚本,实际上您可以直接在jQuery ui网站http:// jqueryui上构建自己的文件。 com / download /。您要做的就是标记您要寻找的效果,然后下载。

我一直在寻找幻灯片效果。因此,我首先取消选中所有复选框,然后单击“幻灯片效果”复选框,然后页面会自动检查使幻灯片效果起作用所需的其他组件。很简单。

easeOutBounce是一种缓和效果,您需要选中“效果核心”复选框。


4

如果您使用的是Bootstrap,则Bootstrap的jQuery(如果包含在jQuery脚本标签下方)也有可能被另一个版本覆盖。包括jQuery自己的CDN并删除Bootstrap提供的jQuery脚本标签是唯一对我有用的方法。


1

对于遇到此错误的任何人,您都尝试过更新版本并确保存在effect核心等,但仍然会挠头。检查文档中的animate()和其他语法。

我所做的就是写“ Linear”而不是“ linear”,并且得到了[this.easing]不是一个函数

$(“#main”)。animate({scrollLeft:'187px'},'slow','Linear'); //坏

$(“#main”)。animate({scrollLeft:'187px'},'slow','linear'); //好


0

我发现了问题:不要使用CDN(这会引起问题!),而是将jquery文件本地保存在服务器上,然后问题就消失了。


0

导入jquery.easingCDN对我有用。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js"></script>

您可以在网页的底部添加。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.