我有个 jquery function 事件是会出现 alert
$('.notification-message').hide().stop();
$('.notification-message').fadeIn('fast').delay(2000).fadeOut('fast');
执行之前会 hide 和 stop
但是当我连续按,他还是无法「只显示一个」还是会不断出现 notification-message
这如何防止?
我有个 jquery function 事件是会出现 alert
$('.notification-message').hide().stop();
$('.notification-message').fadeIn('fast').delay(2000).fadeOut('fast');
执行之前会 hide 和 stop
但是当我连续按,他还是无法「只显示一个」还是会不断出现 notification-message
这如何防止?
(老哥,你都2.7k了= =)
额外设置个变量应该能解决你的问题(es6的promise应该也可以,没研究过), demo:
var isFading = false;
$("#a").click(function () {
if (isFading) {
return false;
}
isFading = true;
$('.notification-message').hide().stop();
$('.notification-message').fadeIn('fast').delay(2000).fadeOut('fast', function () {
isFading = false;
});
})
这也可以同样道理应用于防重复提交
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
不是很明白你要表达什么,以下效果为点击出现,2s后自动消失,未消失期间点击按钮不会有反应