我有一个问题,在wordpress,在使用速度js。
在function.php内部,我已将velocity.min.js和velocity.ui.min.js排队,如下所示
wp_enqueue_script('velociti-min-js', STYLESHEET_URI . '/assets/js/velocity.min.js', array('jquery'), THEME_VERSION, true);
wp_enqueue_script('velociti-ui-min-js', STYLESHEET_URI . '/assets/js/velocity.ui.min.js', array('jquery'), THEME_VERSION, true);然后,我使用定制的javascript代码将main.js文件排队,如下所示
wp_enqueue_script('main-theme-function', STYLESHEET_URI . '/assets/js/main-theme-function.js', NULL, THEME_VERSION, TRUE);当我尝试注册一个新的速度效应,就像
$.Velocity
.RegisterEffect("myeffect", {
defaultDuration: 1,
calls: [
[ { translateY: '-50%'}, 1]
]
});我在控制台上看到了这个错误
未定义TypeError:无法读取未定义属性的“速度”
但我不明白为什么..。有人能帮忙吗?
非常感谢
发布于 2019-12-04 15:16:41
您应该尝试使用jQuery.Velocity。或者,您可以将您的电话包装在一个名为jQuery到$的生活中。
(function ($) {
// $.Velocity...
})(jQuery);发布于 2019-12-04 15:06:04
未定义TypeError:无法读取未定义属性的“速度”
在您的例子中,"$“(JQuery)没有任何价值。
主要是因为JQuery没有添加到您的侧或速度库之后。确保您先加载/添加Jquery,然后加载速度。
但不知道wordpress是怎么写的。
发布于 2019-12-04 15:17:28
这很可能是加载顺序错误。WP以一种随机顺序加载JS文件,除非添加依赖参数。
您需要将velocity js文件作为依赖项添加到main.js中。
wp_enqueue_script('velociti-min-js', STYLESHEET_URI . '/assets/js/velocity.min.js', array('jquery'), THEME_VERSION, true);
wp_enqueue_script('velociti-ui-min-js', STYLESHEET_URI . '/assets/js/velocity.ui.min.js', array('jquery', 'velocity-min-js'), THEME_VERSION, true);
wp_enqueue_script('main-theme-function', STYLESHEET_URI . '/assets/js/main-theme-function.js', ['velociti-min-js', velociti-ui-min-js'], THEME_VERSION, TRUE);我用数组NULL替换了您的队列中的['velociti-min-js', velociti-ui-min-js'] --您使用为脚本设置的标记作为值。这将确保在主js之前加载这些文件。
https://stackoverflow.com/questions/59178594
复制相似问题