$('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