106

尝试使用 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>
4

11 回答 11

152

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

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

于 2012-09-25T22:59:25.980 回答
20

对于那些拥有自定义 jQuery UI 构建(例如 bower)的用户,添加位于..\jquery-ui\ui\effect.js.

于 2014-12-22T08:15:20.040 回答
15

包括这对我有用。

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

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

于 2016-10-12T11:38:38.680 回答
10

Jquery easing plugin renamed their effect function names from version 1.2 on. If you have some javascript depending on easing and it is not calling the right effect name it will throw this error.

于 2012-11-12T16:01:17.337 回答
5

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

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

easeOutBounce 是一种缓动效果,您需要选中“Effects Core”复选框。

于 2016-02-02T23:27:39.807 回答
4

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

于 2016-09-25T23:12:06.143 回答
3

导入jquery.easingcdn 对我有用。

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

您可以添加网页底部。

于 2020-05-03T19:41:36.060 回答
1

对于任何遇到此错误并且您已尝试更新版本并确保存在效果核心等但仍然摸不着头脑的人。检查 animate() 和其他语法的文档。

我所做的只是写“线性”而不是“线性”并得到 [this.easing] 不是一个函数

$("#main").animate({ scrollLeft: '187px'}, 'slow', 'Linear'); //坏的

$("#main").animate({ scrollLeft: '187px'}, 'slow', 'linear'); //好的

于 2020-01-28T15:40:31.740 回答
0

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

于 2019-06-29T10:54:19.303 回答
0

我发现了一件很奇怪的事情,但重要的是要知道:当你安装 jQuery ui (1.12.1) 时,很多缓动工作,例如:

jQuery('#my-elm').animate({marginLeft:500},1000,'linear');
jQuery('#my-elm').animate({marginLeft:500},1000,'easeOutBounce');

工作,但默认值:

jQuery('#my-elm').animate({marginLeft:500},1000,'swipe');

产生很多错误

于 2021-09-11T12:43:03.650 回答
0

使用最新的 bootstrap 4 及更高版本,这不会影响您的 UI

于 2020-09-03T14:26:35.433 回答