使用toggleClass时如何添加时间?

时间:2015-08-19 10:02:43

标签: javascript jquery

以下是我的代码..

$(document).ready(function(){
  $("#toggle-btn").click(function(){
    $(".example").toggleClass("with-text");
  });
});

如何为toggleClass添加时间? 例如,任何我可以添加“5000”的地方,以便在5秒内添加课程?

感谢。

3 个答案:

答案 0 :(得分:1)

使用setTimeout

var timer = null;
$("#toggle-btn").click(function(){
  if(timer != null){
   clearTimeout(timer )
  }
  timer = setTimeout(function () { $(".example").toggleClass("with-text"); }, 5000);
});

答案 1 :(得分:1)

你可以使用setTimeout。请尝试以下代码:

$(document).ready(function(){
  $("#toggle-btn").click(function(){
    $("#toggle-btn").prop('disabled', true);
    setTimeout(function(){
      $(".example").toggleClass("with-text");
      $("#toggle-btn").prop('disabled', false);
     },5000);
    });
});

编辑:添加已禁用的属性,因此只有在超时结束时才能单击它。

答案 2 :(得分:1)

就这样做。这会创建一个动画。因此,如果您希望新文本淡入,请执行此操作。

  $("#toggle-btn").click(function(){
    $(".example").toggleClass("red",5000);
  });

DEMO