jQuery.easing[jQuery.easing.def] 不是一个函数

Posted

技术标签:

【中文标题】jQuery.easing[jQuery.easing.def] 不是一个函数【英文标题】:jQuery.easing[jQuery.easing.def] is not a function 【发布时间】:2012-07-17 00:06:05 【问题描述】:

查看控制台时出现以下错误:

jQuery.easing[jQuery.easing.def] is not a function

我正在尝试在 WordPress 上制作一个滑块。我正在本地主机上工作,所以我无法准确显示发生了什么。但是,当滑块只是在 WordPress 之外的 html 文件中时,它可以工作。在 WordPress 中,它给了我这个错误。任何洞察问题可能是什么将不胜感激。

【问题讨论】:

发布您的代码。我们无法调试不可见的代码。 这篇博文对我有帮助,现在对我有用:http://www.gilluminate.com/2011/06/06/jquery-easingjquery-easing-def-is-not-a-function/ 【参考方案1】:

为大家节省一些时间。打开你的 Jquery easing 插件文件并将代码包装在里面:

$(document).ready(function() 
  Code goes here...
);

【讨论】:

我只在使用 CommonJS/browserify 时遇到问题,但这个解决方案解决了它。 "打开你的 Jquery easing 插件文件" -- 该文件的位置在哪里?它是wordpress附带的还是假设是手动安装的?谢谢:) @aequalsb 在打印错误的检查元素中,将鼠标悬停在文件名上,它将显示完整路径。 有谁知道为什么当我做$(document) 时它会起作用,但如果我做jQuery(document) 它却不起作用?【参考方案2】:

请检查您是否多次加载 jQuery。如果您已手动插入页脚,请尝试将其删除。

【讨论】:

这是给我的!来自 october cms 的一个插件正在注入它自己的 jquery 以及我自己包含的那个。【参考方案3】:

问题是

swing: function (x, t, b, c, d) 
    return jQuery.easing[jQuery.easing.def](x, t, b, c, d);

此函数中的 jQuery 不能等于已应用 jQuery.extend( jQuery.easing, 的 jQuery。

    jQuery 替换为$

    包装代码
    (function($, undefined) 
      ...
    ) (jQuery);
    

【讨论】:

【参考方案4】:

您是否导入了 jQuery 缓动插件?像

  <script src="http://code.jquery.com/jquery.min.js"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>

在您的页面中?

【讨论】:

是的,当我添加时我得到一个 ReferenceError: jQuery is not defined then the original error 那么您还需要添加 jQuery 本身,就在缓动插件之前...我已经编辑了答案! jQuery is not defined 消失了,但原来的错误依然存在【参考方案5】:
if(typeof jQuery.easing[jQuery.easing.def] == 'function')
    return jQuery.easing[jQuery.easing.def](x, t, b, c, d);

在 easing.js 上的 swing() 函数上尝试此代码

【讨论】:

【参考方案6】:

在使用插件或使用document.ready之前将jquery.easing.1.3.js放到head标签中

【讨论】:

【参考方案7】:

不要在头部声明脚本,当文档完全加载时通过jQuery的.getScript()函数调用。

例子:

<script>
$( document ).ready(function() 
    $.getScript('path_to_script/easing_script_name.js');
);
</script>

该错误是由于在缓动脚本完全加载之前调用了 jQuery。

【讨论】:

【参考方案8】:

您是否正在导入 jQuery 缓动插件?还是高于 1.7.2 的版本?

然后删除它并使用它:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>

【讨论】:

【参考方案9】:

如果您在调用 jQuery 或 jQuery UI 之前调用 WordPress 滑块插件的 javascript,可能会发生这种情况。

这样解决吗?

<script type="text/javascript"
        src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script type="text/javascript"
        src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.4/umd/popper.min.js"></script>
    <script type="text/javascript"
        src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/js/bootstrap.min.js"></script>
        <script type="text/javascript" src="/wordpress-slider-plugin.js"></script>

【讨论】:

以上是关于jQuery.easing[jQuery.easing.def] 不是一个函数的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 错误:...easing... 不是函数

JQuery强化教程 —— jQuery Easing

JQuery强化教程 —— jQuery Easing

jQuery easing

jQuery Easing 使用方法及其图解

Jquery Easing函数库