这是我几个月来第一次(脸红)升级了我的jQuery。我现在开始:
我还升级到了jquery.multiselect和jquery.multiselect.filter插件的最新版本。当我试图关闭一个多选择菜单时,我会得到以下错误:
TypeError: jQuery.easing[this.easing] is not a function
jquery-1.9.1.js (line 9033)注意,虽然在发生错误时我使用的是multiselect插件,但实际的错误在主jQuery文件中。守则是:
/*9031*/ if ( this.options.duration ) {
/*9032*/ this.pos = eased = jQuery.easing[ this.easing ](
/*9033*/ percent, this.options.duration * percent, 0, 1, this.options.duration
/*9034*/ );
/*9035*/ }我忘了更新文件了吗?在谷歌上搜索,其他抱怨相同的人似乎都在尝试使用某种额外的宽松插件,但我没有。
发布于 2013-08-15 04:37:56
当第一次升级到jQuery 1.9.+时,可能会在整个站点的各种动画中发生此错误,因为的放松效果名称已经更改!
请参阅http://api.jqueryui.com/easings/,没有更新jQueryUI.com站点中的旧示例,这导致人们认为旧的动画示例名称是正确的。
例子:手风琴面板“弹跳”动画现在是一个叫做'easeOutBounce‘的封闭版本。在撰写本文的时候,字符串“弹跳”仍在站点的示例中:http://api.jqueryui.com/accordion/#option-animate。
我只有在遵循动画类型中提到的超链接并在我的代码中尝试新的名称之后,才意识到动画名称已经改变了。
发布于 2013-11-07 01:23:39
包括:
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 注意:如果需要,更新jquery版本。
发布于 2016-05-19 10:38:00
无效第二论证问题
如果这有助于一些人偶然发现这个问题,就像我得到这个错误时所做的那样,我将添加另一个可能的解决方案。我的错误是因为我对fadeIn函数的第二个参数不是要在动画完成时执行的“回调”函数。如果第二个参数不是一个函数,jQuery希望它是一种宽松的使用方式。我的第二个论点是一个错误的对象-我以为它是一个函数。
所以对我来说
return {
enter: function(element,classes,done){ //classes variable incorrectly added, making done an object
element.fadeIn(1000,done);
}
};变成:
return {
enter: function(element,done){ //remove classes variable as wasn't right for this situation - done is now a function
element.fadeIn(1000,done);
}
};注意,参数的更改传递给了我的匿名enter函数。重要的是,在我的例子中,这些变量是AngularJS注入,所以它们的顺序很重要,而不是它们的名字。
https://stackoverflow.com/questions/15719456
复制相似问题