jQuery:隐藏一个按钮3秒钟。 setInterval / .hide还是toggleClass?

时间:2015-12-12 07:04:50

标签: javascript jquery hide setinterval toggleclass

我正在寻找一些快速建议。我是Javascript的新生,我的任务是做一个简单的游戏。这个游戏的一个要素就是有一个叫做“攻击”的按钮,每次按下它就会消失三秒钟。然后再出现。

我一直在研究我可以用这个做的不同代码,我想知道是否有人有任何关于什么更容易使用的recs,还有一些语法帮助。我最初的想法是这样做:

在JS文件中:

var attack_button = $('.attack');
attack_button.click(function() {
    $(this).toggleClass('invisible');

在CSS文件中:

.invisible {
    visibility: hidden;
}

但是,是否有一个可以在toggleClass上轻松设置的计时器,只能让它持续三秒钟?

我也在想我能做到这一点:

在JS文件中:

setInterval(function() {
    attack_button.hide() }, 3000 }

有什么建议吗?我将无法与教师协商几天,我现在想做一些工作。

1 个答案:

答案 0 :(得分:4)

您可以使用setTimeout();

我认为这是您需要的代码

var attack_button = $('.attack');
attack_button.click(function() {
  var ThisIt = $(this);
  ThisIt.addClass('invisible');
  setTimeout(function(){
    ThisIt.removeClass('invisible');
  } , 3000);
});

Working Demo

Demo with Fade Effect

  

注意:请务必包含jquery