クラスを削除してからクラスを追加するまでにXミリ秒の遅延が必要だと思います。//とマークされた行が必要かどうかわかりませんか?または、彼らがその仕事をしていることさえありますが、あなたがしなければならないのは、値を関数に取り込む方法です。また、setTimeout anon関数は実際にはパラメーターを必要としない場合がありますが、それはあなたにアイデアを与えるはずです。
$(canvas).click(function() {
$.each(text, function(key, val) {
$(canvas).removeAttr('class')
var $canvas = $(canvas) //?
var class_val = val //?
setTimeout(function ($canvas, class_val) {
$canvas.addClass(class_val);
}, 2000);
});
});
編集:代わりにこれを行いますfunction modify_element($ element、class_name){$ element.removeClass('class'); setTimeout(function($ element){$ element.addClass(class_name);}、1000); //クラスを削除してから1秒後にクラスを追加します}
$(canvas).click(function() {
$.each(text, function(key, val) {
setTimeout(modify_element($(canvas), val),2000);
//this will loop over the elements with 2 seconds between elements
});
});