我有下面的代碼正在運行,但由於某種原因,無論我在哪裏放置延遲線執行立即。jQuery延遲被忽略
任何幫助將不勝感激。
$('#team_a_grid, #team_b_grid').on("click", "td.clickable", function(){
var dot_or_cross ='<span>Dot</span>'
$(this).delay(3000).removeClass().html(dot_or_cross);
});
我有下面的代碼正在運行,但由於某種原因,無論我在哪裏放置延遲線執行立即。jQuery延遲被忽略
任何幫助將不勝感激。
$('#team_a_grid, #team_b_grid').on("click", "td.clickable", function(){
var dot_or_cross ='<span>Dot</span>'
$(this).delay(3000).removeClass().html(dot_or_cross);
});
使用.setTimeout()
$('#team_a_grid, #team_b_grid').on("click", "td.clickable", function() {
var dot_or_cross = '<span>Dot</span>'
var $this=$(this);
setTimeout(function() {
$this.removeClass().html(dot_or_cross);
}, 3000);
});
作爲評價
的.delay()方法是最適合排隊jQuery效果之間延遲指出。因爲它是有限的 - 例如,它不提供取消延遲的方法.delay()不是JavaScript本地setTimeout函數的替代品,這對於某些用例可能更合適。
的可能重複的[JQUERY各添加類延遲其間](http://stackoverflow.com/questions/12680803/jquery-each-add-class-with-delay-inbetween) – Alnitak