Jquery 选择器数组的链接效应
我正在为Wordpress开发一些主题,并使用以下jQuery代码:Jquery 选择器数组的链接效应,jquery,wordpress,Jquery,Wordpress,我正在为Wordpress开发一些主题,并使用以下jQuery代码: (function ($, root, undefined) { $(function () { var stepOne = [ "#step1", "#step2", "#step3" ]; $('#btn').click(getAnimation(stepOne)); }); })(jQuery); function getAnimation(getArray) {
(function ($, root, undefined) {
$(function () {
var stepOne = [ "#step1", "#step2", "#step3" ];
$('#btn').click(getAnimation(stepOne));
});
})(jQuery);
function getAnimation(getArray) {
getArray.each(function() {
var $div = $(this);
$div.queue('classing', function(next) {
$div.delay(delay).addClass("stepwalk", next);
});
$li.dequeue('classing');
delay += 250;
});
}
我面临两个问题:
1-函数getAnimation()未单击按钮#btn就被激发
2-控制台中出现以下错误消息:
Uncaught TypeError: undefined is not a function
getAnimation
(anonymous function)
j
k.fireWith
m.extend.ready
J
$('#btn')。单击(获取动画(步骤一))代码>
确实如此
1) getAnimation()将以stepOne作为参数启动
2) 它的返回值(none=>null)将设置为#btn的onclick操作
3) 单击#btn后,将启动onclick操作。我们将什么设置为onclick操作?空的
将其更改为:
$('#btn')。单击(函数(){getAnimation(stepOne);})代码>它未定义,因为它希望在单击事件中存储一个变量,就像您放置的那样。但是,此事件在其括号中查找的特定变量类型是一个有效的事件处理程序函数(即回调函数)
换句话说,它需要一种方式来存储一些功能,以备将来实际事件发生时使用。一个$(“#…”)。click()
方法调用是一个JQuery事件处理方法调用,它告诉DOM对象将来将此处理程序附加到它。一旦点击发生,变量就会被激活
这是因为变量实际上是用来存储指针的。指针是函数(未来行为)对事件发生的委托
因此,为了解决这个问题,您需要像这样传入函数调用
$(function () {
var stepOne = [ "#step1", "#step2", "#step3" ];
$('#btn').click( function() { getAnimation(stepOne) });
});
尝试使用$.each(getArray,function(){…})
而不是getArray.each()
首先,您在事件处理程序中调用函数,而不是引用它。其次,在闭包之外使用dollarsign,它没有定义为jQuery在Wordpress中处于无冲突模式。