由于用户的网络环境等各种原因,防止按钮重复点击,表单重复提交等都是减少bug发生,降低服务器压力等相当有效的方法。下面来聊聊通过模拟我们在操作系统里类似加锁的思想来防止重复点击。
目录
思路
- 声明一个锁(布尔值),用来标识按钮,变量是否被锁上
- 当按钮按下后,把布尔值设置为false,即标记为已锁上
- 设置一个延时函数setTimeout(),等待一段时间后再把这个锁归还,设置布尔值为true
- 显然我们的按钮点击事件一开始就应该判断锁是否被锁上,是则直接结束。否则才能正常执行
示例
- HTML / JS
<div style="width:100%;display:flex;justify-content: center;background:#66ccff;border-radius:10px;border 1px solid #66ccff;">
<button onclick="btn_click()" style="border-radius:10px;">
点死我
</button>
</div>
<script>
//锁变量
let lock = true;
//按钮点击执行函数
function btn_click() {
if(lock == false) {
return;
}
//加锁
lock = false;
//执行按钮点击本应执行的事情
alert("点了一下我捏");
//限制间隔5000毫秒(即5秒)只能执行一次
setTimeout(function(){
//解锁
lock = true;
},5000);
}
</script>
- 效果(每隔5秒只会执行一次按钮点击应该执行的事情):
结语
- 本文的例子思路和实现都是相当简单的,但确是很实用的方法。
- 另外,从这个思路出发,还能解决一些类似的问题,比如:
- 音乐进度条的拖动。由于拖动的报告率太高,导致拖动过程界面卡顿,音乐的播放也很卡顿,那就可以用这个思路,每一段时间内只对应响应一次。
- 降低输入框的响应。
- 后续我们再聊聊上面这些例子的解决方法实现。他们本质都是这个模拟加锁的思路,但可能有些需要一些细节上不同的处理。
световое оборудование для актового зала https://www.oborudovanija-dlja-aktovyh-zalov.ru .
topical tretinoin
Hello there! This post could not be written any better! Looking through this article reminds me of my previous roommate! He constantly kept talking about this. I will send this post to him. Fairly certain he’s going to have a good read. Thanks for sharing!
Привет, друзья!
Купить документ ВУЗа можно в нашем сервисе.
diplomyx24.ru/kupit-diplom-o-srednem-obrazovanii
Успешной учебы!
Здравствуйте!
Заказать документ института можно у нас в Москве.
ast-diplom.com/kupit-diplom-moskva
Успехов в учебе!
Having read this I thought it was rather enlightening. I appreciate you finding the time and effort to put this informative article together. I once again find myself personally spending way too much time both reading and commenting. But so what, it was still worth it!
Оборудование актовых залов http://www.oborudovanie-aktovogo-zala.ru/ .
diflucan 6 tabs
видеостена для конференц зала видеостена для конференц зала .
I love reading a post that will make people think. Also, thanks for permitting me to comment.
Оборудование актовых залов http://www.oborudovanija-dlja-aktovyh-zalov.ru .
оборудование актового зала оборудование актового зала .
оборудование актового зала оборудование актового зала .
There is definately a great deal to find out about this topic. I really like all of the points you made.
Останні новини світу https://uamc.com.ua про Україну від порталу новин Ukraine Today
Останні новини https://thingshistory.com зовнішньої та внутрішньої політики в країні та світі.
Головні новини https://status.net.ua сьогодні, найсвіжіші та останні новини України онлайн
Корисні та цікаві статті https://sevsovet.com.ua про здоров’я, дозвілля, кар’єру.
Добрый день!
Заказать диплом о высшем образовании.
lubov.listbb.ru/viewtopic.php?f=2&t=479
Добрый день!
Заказать диплом любого ВУЗа.
cryptobomb.space/blogs/30/%D0%A7%D1%82%D0%BE-%D1%82%D1%80%D0%B5%D0%B1%D1%83%D0%B5%D1%82%D1%81%D1%8F-%D0%B4%D0%BB%D1%8F-%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%B0-%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC%D0%B0-%D0%B8%D0%BD%D1%81%D1%82%D0%B8%D1%82%D1%83%D1%82%D0%B0
Привет!
Купить диплом ВУЗа.
imforma.it/cb-profile/pluginclass/cbblogs.html?action=blogs&func=show&id=118
Оборудование актовых залов http://www.oborudovanie-aktovogo-zala.ru .
видеостена цена видеостена цена .
Very nice blog post. I absolutely appreciate this website. Thanks!
There is certainly a lot to learn about this issue. I love all of the points you have made.
видеостены в Москве videosteny-dlja-sozdanija-jekranov.ru .
видеостены https://videosteny-dlja-sozdanija-jekranov.ru/ .
Оборудование актовых залов http://www.oborudovanie-aktovogo-zala.ru/ .
световое оборудование для актового зала световое оборудование для актового зала .
Новини, останні події https://prp.org.ua в Україні та світі, новини політики, бізнесу та економіки, законодавства
Привет!
Сколько стоит диплом высшего и среднего образования и как это происходит?
shabab.galaxy.ps/купить-диплом-новосибирск/
Новини України https://sensus.org.ua та світу сьогодні. Головні та останні новини дня
Головні новини https://pto-kyiv.com.ua України та світу
Новини та аналітика https://newsportal.kyiv.ua ситуація в Україні.
Головні новини https://mediashare.com.ua про регіон України. Будьте в курсі останніх новин
May I just say what a comfort to find someone that genuinely understands what they are discussing online. You actually understand how to bring a problem to light and make it important. More people ought to look at this and understand this side of your story. It’s surprising you’re not more popular since you certainly have the gift.
Привет, друзья!
Официальная покупка аттестата о среднем образовании в Москве и других городах
paskib.com/купить-диплом-в-новороссийске/
Добрый день!
Купить документ о получении высшего образования вы можете в нашем сервисе.
asxdiplomik24.ru/kupit-diplom-omsk
Успехов в учебе!
Привет, друзья!
Купить документ о получении высшего образования можно в нашем сервисе.
ast-diplom24.ru/kupit-diplom-ekaterinbur
Хорошей учебы!
Україна останні новини https://lentanews.kyiv.ua головні новини та останні події