jQuery - setTimeout不起作用

时间:2016-10-17 17:08:52

标签: javascript jquery settimeout

有我的脚本:https://jsfiddle.net/hcsofjaa/1/ 我想逐个每2000ms更改这些单元格的颜色,但似乎setTimeout函数无法正常工作。有谁知道,问题在哪里?

$("#button").click(function(){
for (var i = $("span").length; i > 0; i--) {

    setTimeout(function(){
        $("span:nth-child("+i+")").css("background-color","blue");
    }, 2000);

}

1 个答案:

答案 0 :(得分:0)

1) $(函数)很重要 - 在呈现后将click事件绑定到元素。

2) 2000 * i :按钮颜色在2000的差距中发生变化

$(function(){
  $("#button").click(function(){
  $("span").each(function(i){
   var e = this;
   setTimeout(function(){
     $(e).css("background-color","blue");
   }, 2000 * i);
   });     
   });
});