我下载了一个预捆绑的JS/CSS表单应用程序,并尝试在Wordpress中使用它。
$(document).ready(function () {
/*----------------------------------------------------------------------*/
/* Parse the data from an data-attribute of DOM Elements
/*----------------------------------------------------------------------*/
$.parseData = function (data, returnArray) {
if (/^\[(.*)\]$/.test(data)) { //array
data = data.substr(1, data.length - 2).split(',');
}
if (returnArray && !$.isArray(data) && data != null) {
data = Array(data);
}
return data;
};
/*----------------------------------------------------------------------*/
/* Image Preloader
/* http://engineeredweb.com/blog/09/12/preloading-images-jquery-and-javascript
/*----------------------------------------------------------------------*/
// Arguments are image paths relative to the current page.
$.preload = function() {
var cache = [],
args_len = arguments.length;
for (var i = args_len; i--;) {
var cacheImage = document.createElement('img');
cacheImage.src = arguments[i];
cache.push(cacheImage);
}
};
/*----------------------------------------------------------------------*/
/* fadeInSlide by revaxarts.com
/* Fades out a box and slide it up before it will get removed
/*----------------------------------------------------------------------*/
$.fn.fadeInSlide = function (speed, callback) {
if ($.isFunction(speed)) callback = speed;
if (!speed) speed = 200;
if (!callback) callback = function () {};
this.each(function () {
var $this = $(this);
$this.fadeTo(speed / 2, 1).slideDown(speed / 2, function () {
callback();
});
});
return this;
};
/*----------------------------------------------------------------------*/
/* fadeOutSlide by revaxarts.com
/* Fades out a box and slide it up before it will get removed
/*----------------------------------------------------------------------*/
$.fn.fadeOutSlide = function (speed, callback) {
if ($.isFunction(speed)) callback = speed;
if (!speed) speed = 200;
if (!callback) callback = function () {};
this.each(function () {
var $this = $(this);
$this.fadeTo(speed / 2, 0).slideUp(speed / 2, function () {
$this.remove();
callback();
});
});
return this;
};
/*----------------------------------------------------------------------*/
/* textFadeOut by revaxarts.com
/* Fades out a box and slide it up before it will get removed
/*----------------------------------------------------------------------*/
$.fn.textFadeOut = function (text, delay, callback) {
if (!text) return false;
if ($.isFunction(delay)) callback = delay;
if (!delay) delay = 2000;
if (!callback) callback = function () {};
this.each(function () {
var $this = $(this);
$this.stop().text(text).show().delay(delay).fadeOut(1000,function(){
$this.text('').show();
callback();
})
});
return this;
};
/*----------------------------------------------------------------------*/
/* leadingZero by revaxarts.com
/* adds a leding zero if necessary
/*----------------------------------------------------------------------*/
$.leadingZero = function (value) {
value = parseInt(value, 10);
if(!isNaN(value)) {
(value < 10) ? value = '0' + value : value;
}
return value;
};
});
我假设WordPress没有冲突导致了一个问题,所以我更新了最后一个括号,看起来像下面:
}, "jQuery");
然而,我仍然得到同样的错误。有人知道什么会引起这个问题,以及如何得到解决?
5条答案
按热度按时间5rgfhyps1#
这是一个语法问题,WordPress附带的jQuery库在“无冲突”模式下加载。这是为了防止与WordPress可以加载的其他javascript库发生兼容性问题。在“无冲突”模式下,$快捷方式不可用,并且使用较长的jQuery,即
通过在函数调用后的圆括号中包含$,可以在代码块中使用此快捷方式。
有关完整详细信息,请参见WordPress Codex
b5lpy0ml2#
我最喜欢的无冲突友好结构:
使用函数指针调用jQuery是$(document).ready(...)的快捷方式
或者就像我们在咖啡脚本里说的:
eni9jsuy3#
在WordPress中只需替换
与
unftdfkk4#
您可以考虑通过添加类似以下内容到主题functions.php文件中,用Google Library替换默认的WordPress jQuery脚本:
代码取自此处:http://www.wpbeginner.com/wp-themes/replace-default-wordpress-jquery-script-with-google-library/
zaqlnxep5#
也许在jquery之前就有这样的代码:
他们就是冲突
可以将$更改为(jQuery)