$('button').on('click',function(){
setTimeout(function(){
$(this).addClass('active');
},500);
});
活动类应该500个ms后加入内工作,但它不添加不改变它的背景色。
$('button').on('click',function(){
setTimeout(function(){
$(this).addClass('active');
},500);
});
活动类应该500个ms后加入内工作,但它不添加不改变它的背景色。
this
并不是指点击的按钮中的setTimeout()内处理,你可以使用一个简单的闭包变量来保存对被单击元素的引用,并在超时处理程序中使用它
$('button').on('click', function() {
var $el = $(this);
setTimeout(function() {
$el.addClass('active');
}, 500);
});
您可以在一个变量保存$(this)
,才能在setTimeout
函数访问$(this)
:
$('button').on('click',function(){
var $this = $(this);
setTimeout(function(){
$this.addClass('active');
},500);
});
试试这个:
$('button').on('click',function(){
var that = $(this);
setTimeout(function(){that.addClass('active');},500);
});
两个字 - '功能scope' –
对于完整性,使用队列()将是jQuery'ish办法做到这一点 - > http://jsfiddle.net/CL4VD/4/ – adeneo