由于用户的网络环境等各种原因,防止按钮重复点击,表单重复提交等都是减少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秒只会执行一次按钮点击应该执行的事情):
结语
- 本文的例子思路和实现都是相当简单的,但确是很实用的方法。
- 另外,从这个思路出发,还能解决一些类似的问题,比如:
- 音乐进度条的拖动。由于拖动的报告率太高,导致拖动过程界面卡顿,音乐的播放也很卡顿,那就可以用这个思路,每一段时间内只对应响应一次。
- 降低输入框的响应。
- 后续我们再聊聊上面这些例子的解决方法实现。他们本质都是这个模拟加锁的思路,但可能有些需要一些细节上不同的处理。
zofran breastfeeding safety
buy cipro cheap cipro 500mg best prices buy cipro
http://finasteride.store/# cheap propecia without rx
Misoprostol 200 mg buy online order cytotec online cytotec pills buy online
http://finasteride.store/# buying generic propecia without prescription
lisinopril 80 mg tablet: lisinopril 10 mg 12.5mg – lisinopril 5 mg daily
ciprofloxacin: cipro for sale – ciprofloxacin
buy ciprofloxacin over the counter antibiotics cipro buy cipro online
tamoxifen and weight loss: nolvadex 10mg – tamoxifen men
http://cytotec.club/# buy cytotec pills
top online pharmacy 247
tamoxifen side effects forum: aromatase inhibitor tamoxifen – tamoxifen and grapefruit
https://nolvadex.life/# tamoxifen postmenopausal
buy cipro online without prescription ciprofloxacin generic ciprofloxacin generic
https://cytotec.club/# buy cytotec over the counter
http://ciprofloxacin.tech/# buy cipro online canada
lisinopril 15mg zestril 2.5 mg buy zestoretic online
metformin 1000 pill
https://nolvadex.life/# tamoxifen headache
lisinopril online pharmacy
https://finasteride.store/# buy generic propecia without a prescription
synthroid 0.050 mg
https://finasteride.store/# propecia
На сайте коллегии юристов http://zpp-1.ru/ вы найдете контакты и сможете связаться с адвокатами. Юрист расскажет о том, как нужно правильно поступить, поможет собрать необходимые документы и будет защищать ваши права в суде. Квалифицированная юридическая и медицинская поддержка призывникам с гарантией!
zestoretic canada buy lisinopril in mexico zestril 5mg
azithromycin 500mg over the counter
buying cheap propecia cheap propecia without dr prescription cost cheap propecia without insurance
https://nolvadex.life/# tamoxifen joint pain
where can i buy azithromycin 500mg
can i buy metformin over the counter in australia
synthroid online canada
brand cialis 20mg
http://nolvadex.life/# tamoxifen brand name
valtrex 1000 mg
tamoxifen premenopausal: tamoxifen warning – tamoxifen citrate
prinivil lisinopril
ciprofloxacin generic ciprofloxacin 500 mg tablet price buy cipro online canada
how to order metformin online
buy tadalafil mexico online
order propecia without prescription: cost of cheap propecia without dr prescription – buy cheap propecia without a prescription
order cytotec online: cytotec abortion pill – order cytotec online
http://ciprofloxacin.tech/# cipro pharmacy
https://finasteride.store/# buy generic propecia
В нашем обществе, где диплом становится началом отличной карьеры в любом направлении, многие ищут максимально быстрый и простой путь получения образования. Наличие документа об образовании трудно переоценить. Ведь именно диплом открывает двери перед каждым человеком, желающим начать профессиональную деятельность или учиться в университете.
В данном контексте наша компания предлагает максимально быстро получить этот необходимый документ. Вы сможете купить диплом нового или старого образца, и это является отличным решением для человека, который не смог закончить образование, утратил документ или желает исправить плохие оценки. дипломы изготавливаются с особой аккуратностью, вниманием ко всем нюансам, чтобы в результате получился 100% оригинальный документ.
Преимущество такого подхода состоит не только в том, что вы быстро получите диплом. Весь процесс организовывается удобно, с профессиональной поддержкой. Начав от выбора требуемого образца диплома до консультации по заполнению личной информации и доставки по стране — все под абсолютным контролем квалифицированных специалистов.
Всем, кто пытается найти максимально быстрый способ получить требуемый документ, наша компания может предложить отличное решение. Купить диплом – это значит избежать длительного обучения и не теряя времени переходить к личным целям, будь то поступление в ВУЗ или начало карьеры.
https://diploman-russiyans.com
big pharmacy online
sky pharmacy
order tadalafil canada
nolvadex pct: tamoxifen generic – tamoxifen menopause
https://cytotec.club/# buy cytotec over the counter
http://lisinopril.network/# price of lisinopril 20 mg