我想要完成的是在我的系统上,当你点击一个动作时,菜单会被隐藏(禁用),并被倒计时计时器取代。倒计时计时器结束后,我希望菜单取消隐藏并向下滑动。
当我执行操作时,我会隐藏菜单,你运行得很好。但当谈到倒计时时,我在谷歌上搜索了一些,发现了这个,并将其更改为试用版。但这似乎没有任何作用。
这是计时器代码:
var coolDownTime = 10;
function coolDownTimer() {
setTimeOut (function() {
if(coolDownTime != 0) {
coolDownTime--;
coolDownTimer();
} else {
$("#target_area").slideDown('medium');
}
}, 1000);
}
以下是我隐藏菜单的方法:
$('[name=action]').click(function () {
$("#target_area").slideUp('medium');
return false;
});
我在这里做了一些其他ajax来执行一些操作,然后向上滑动菜单。
此时,我希望倒计时开始,当倒计时结束时,我希望行动回来,这样他们就可以选择再次继续。
我认为当前方法的问题是,如果我把计时器代码放在同一个click语句中,我会把菜单隐藏在其中,它就会完全停止工作。我很失落。有人做过类似的事情并知道解决方案吗?
经过一点挖掘和逻辑,我想出了这个。
$('.trigger').on('click', function(e) {
$(this).html('show')
$('.show').slideUp('medium');
var count = 10,
counter = setInterval(timer, 1000);
function timer() {
count--;
if (count <= 0) {
clearInterval(counter);
$('.trigger').html('hide');
$('.show').slideDown('medium');
return;
}
console.log(count);
$('.timer').html(count);
}
});
Fiddle