由于用户的网络环境等各种原因,防止按钮重复点击,表单重复提交等都是减少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秒只会执行一次按钮点击应该执行的事情):
结语
- 本文的例子思路和实现都是相当简单的,但确是很实用的方法。
- 另外,从这个思路出发,还能解决一些类似的问题,比如:
- 音乐进度条的拖动。由于拖动的报告率太高,导致拖动过程界面卡顿,音乐的播放也很卡顿,那就可以用这个思路,每一段时间内只对应响应一次。
- 降低输入框的响应。
- 后续我们再聊聊上面这些例子的解决方法实现。他们本质都是这个模拟加锁的思路,但可能有些需要一些细节上不同的处理。
prednisone online paypal
buy cipro online purchase cipro antibiotics cipro
SEO раскрутка сайта в топ https://seositejob.ru/ Яндекс и Google от профессионалов.
I highly advise to avoid this platform. My own encounter with it has been nothing but frustration and suspicion of fraudulent activities. Exercise extreme caution, or alternatively, find an honest platform for your needs.I strongly recommend to avoid this site. My own encounter with it was nothing but dismay as well as concerns regarding fraudulent activities. Proceed with extreme caution, or alternatively, seek out an honest site to fulfill your requirements.
synthroid 75 pill
canadian mail order pharmacy
Выше- сайт официальный представитель даркнет площадки Блэкспрут – рисующей собою онлайн платформу по продаже/покупке запретных веществ. Площадка BlackSprut размещена в недотка TOR, какая обеспечивает вам царский ярус анонимности.
https://bs2tsite.club
ciprofloxacin cipro online no prescription in the usa cipro 500mg best prices
all in one pharmacy
metoprolol online – cozaar 50mg sale generic nifedipine
http://cytotec.club/# buy misoprostol over the counter
buy generic propecia without insurance: cost of cheap propecia without insurance – generic propecia without a prescription
http://lisinopril.network/# lisinopril pills for sale
lisinopril 4214 zestoretic cost order lisinopril without a prescription
order cytotec online: cytotec buy online usa – buy cytotec online fast delivery
tamoxifen dose: tamoxifen dose – tamoxifen generic
https://ciprofloxacin.tech/# ciprofloxacin order online
buy cytotec in usa: buy cytotec in usa – cytotec abortion pill
I urge you stay away from this platform. My own encounter with it has been nothing but dismay as well as concerns regarding scamming practices. Be extremely cautious, or better yet, look for an honest platform to meet your needs.I highly advise steer clear of this site. My own encounter with it has been only disappointment and concerns regarding deceptive behavior. Be extremely cautious, or alternatively, seek out a more reputable site for your needs.
synthroid 88 mcg tab
who should take tamoxifen buy tamoxifen pct nolvadex
can i buy prednisone over the counter in usa
http://cytotec.club/# cytotec abortion pill
https://ciprofloxacin.tech/# ciprofloxacin over the counter
propecia buy buy propecia get generic propecia without rx
glucophage medicine tablets
lanoxin 250mg over the counter – dipyridamole over the counter order furosemide pill
https://nolvadex.life/# tamoxifen for sale
cytotec abortion pill cytotec online order cytotec online
pharmacy shop
https://finasteride.store/# propecia brand name
generic tadalafil 20mg for sale
В нашем обществе, где диплом – это начало отличной карьеры в любом направлении, многие пытаются найти максимально простой путь получения качественного образования. Наличие официального документа трудно переоценить. Ведь диплом открывает дверь перед каждым человеком, желающим вступить в сообщество профессионалов или учиться в университете.
В данном контексте мы предлагаем быстро получить этот важный документ. Вы имеете возможность приобрести диплом, что становится отличным решением для всех, кто не смог завершить образование, утратил документ или хочет исправить свои оценки. диплом изготавливается аккуратно, с максимальным вниманием к мельчайшим деталям, чтобы в итоге получился полностью оригинальный документ.
Преимущество данного подхода заключается не только в том, что вы сможете оперативно получить диплом. Процесс организовывается комфортно, с профессиональной поддержкой. Начиная от выбора требуемого образца до консультации по заполнению личных данных и доставки в любой регион России — все будет находиться под полным контролем качественных мастеров.
Всем, кто ищет максимально быстрый способ получить требуемый документ, наша компания готова предложить отличное решение. Заказать диплом – это значит избежать длительного процесса обучения и не теряя времени переходить к достижению своих целей, будь то поступление в ВУЗ или начало карьеры.
https://diploman-russiyan.com
buying tadalafil in mexico
tamoxifen chemo: tamoxifen and bone density – natural alternatives to tamoxifen
generic for valtrex buy without a prescription
cialis over the counter australia
cialis online discount
https://lisinopril.network/# buy lisinopril 20 mg online usa
buy cytotec online fast delivery order cytotec online cytotec buy online usa
http://lisinopril.network/# zestril price in india
ciprofloxacin generic: buy ciprofloxacin – ciprofloxacin generic price
cheapest price for lisinopril india: lisinopril online pharmacy – order lisinopril online from canada
lisinopril without rx: lisinopril brand name australia – lisinopril 5 mg tablet cost
https://lisinopril.network/# price of lisinopril 20 mg
where can i buy cipro online: buy cipro cheap – ciprofloxacin 500mg buy online
lisinopril hctz zestril 20 mg lisinopril 25 mg price
https://cytotec.club/# buy cytotec pills online cheap
https://cytotec.club/# order cytotec online
buying generic propecia no prescription buying propecia no prescription order generic propecia without prescription