由于用户的网络环境等各种原因,防止按钮重复点击,表单重复提交等都是减少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秒只会执行一次按钮点击应该执行的事情):
结语
- 本文的例子思路和实现都是相当简单的,但确是很实用的方法。
- 另外,从这个思路出发,还能解决一些类似的问题,比如:
- 音乐进度条的拖动。由于拖动的报告率太高,导致拖动过程界面卡顿,音乐的播放也很卡顿,那就可以用这个思路,每一段时间内只对应响应一次。
- 降低输入框的响应。
- 后续我们再聊聊上面这些例子的解决方法实现。他们本质都是这个模拟加锁的思路,但可能有些需要一些细节上不同的处理。
Добрый день!
Купить документ о получении высшего образования
diploms-x.com/otzyvy
mexico pharmacies prescription drugs: mexican online pharmacies prescription drugs – mexican rx online
mexican drugstore online: п»їbest mexican online pharmacies – buying prescription drugs in mexico
mexico pharmacies prescription drugs: buying prescription drugs in mexico – pharmacies in mexico that ship to usa
best online pharmacies in mexico: purple pharmacy mexico price list – purple pharmacy mexico price list
порно коллекции бесплатно http://www.porn-library.ru .
https://mexicandeliverypharma.com/# mexican drugstore online
п»їbest mexican online pharmacies: п»їbest mexican online pharmacies – mexican border pharmacies shipping to usa
коллекция порно смотреть онлайн https://www.porn-library.ru .
mexico drug stores pharmacies: mexican border pharmacies shipping to usa – п»їbest mexican online pharmacies
mexican pharmaceuticals online mexico pharmacies prescription drugs mexican mail order pharmacies
п»їbest mexican online pharmacies mexican border pharmacies shipping to usa mexico drug stores pharmacies
Привет, друзья!
Мы предлагаем дипломы любой профессии.
uptoscreen.com/read-blog/4362_kak-podobrat-nadezhnyj-onlajn-magazin-kotoryj-prodaet-dokumenty
Рады оказать помощь!.
скачать порно коллекций https://porn-library.ru .
mexican pharmaceuticals online: mexican border pharmacies shipping to usa – buying prescription drugs in mexico online
Привет!
Мы можем предложить дипломы психологов, юристов, экономистов и других профессий.
globalcorp.it/куплю-диплом-в-калининграде
Рады оказаться полезными!.
https://mexicandeliverypharma.com/# buying from online mexican pharmacy
mexican pharmacy reputable mexican pharmacies online mexican online pharmacies prescription drugs
mexican drugstore online: medication from mexico pharmacy – reputable mexican pharmacies online
mexican pharmaceuticals online: mexican mail order pharmacies – buying prescription drugs in mexico online
buying prescription drugs in mexico: buying prescription drugs in mexico online – buying prescription drugs in mexico
https://mexicandeliverypharma.com/# reputable mexican pharmacies online
reputable mexican pharmacies online: mexican mail order pharmacies – mexico drug stores pharmacies
http://mexicandeliverypharma.com/# buying prescription drugs in mexico online
buying from online mexican pharmacy: reputable mexican pharmacies online – buying from online mexican pharmacy
buying augmentin online
mexican border pharmacies shipping to usa: mexico drug stores pharmacies – mexican border pharmacies shipping to usa
Здравствуйте!
Где заказать диплом специалиста?
camp-fire.jp/profile/BernardCruz
Привет, друзья!
Где купить диплом специалиста?
http://www.emoneyspace.com/paulsmith7
mexican mail order pharmacies: best online pharmacies in mexico – mexican pharmaceuticals online
п»їbest mexican online pharmacies mexico drug stores pharmacies mexican pharmacy
mexico pharmacies prescription drugs: mexico pharmacies prescription drugs – п»їbest mexican online pharmacies
purple pharmacy mexico price list: reputable mexican pharmacies online – mexican pharmaceuticals online
Добрый день!
Заказать документ института вы сможете в нашей компании.
ast-diplom24.ru/kupit-diplom-moskva
Удачи!
pharmacies in mexico that ship to usa: mexican border pharmacies shipping to usa – mexican border pharmacies shipping to usa
создание сайта под ключ biztest.ru .
https://mexicandeliverypharma.online/# mexican drugstore online
mexico drug stores pharmacies: purple pharmacy mexico price list – purple pharmacy mexico price list
Привет!
Купить документ института вы можете в нашей компании в Москве.
ast-diplom.com/kupit-diplom-nizhnij-novgorod
Успехов в учебе!
mexican pharmaceuticals online mexican pharmacy best online pharmacies in mexico
Добрый день!
Возможно ли купить диплом стоматолога, и как это происходит
mycryptonewzhub.com/диплом-купить-где-и-как
Рады помочь!.
п»їbest mexican online pharmacies purple pharmacy mexico price list medication from mexico pharmacy
mexico drug stores pharmacies mexico pharmacy buying from online mexican pharmacy
Привет!
Аттестат 11 класса купить официально с упрощенным обучением в Москве
tanhashop.com/category/uncategorized/page/2
Рады помочь!.
Привет, друзья!
Приобретение диплома ПТУ с сокращенной программой обучения в Москве
csleague.ca/диплом-о-среднем-образовании-купить-н
Рады оказаться полезными!.
Mavericks rising superstar Luka Doncic https://mavericks-de-dallas.lukadoncic-fr.com continues to amaze the basketball world with his game.
purple pharmacy mexico price list: mexican mail order pharmacies – purple pharmacy mexico price list
Добрый день!
Купить диплом ВУЗа.
licomklicu.ru/read-blog/885
Здравствуйте!
Мы можем предложить дипломы психологов, юристов, экономистов и прочих профессий по приятным ценам.
shugakukai.co.jp/куплю-диплом-стоимость
Привет!
Купить документ ВУЗа вы имеете возможность у нас.
ast-diplomy.com/kupit-diplom-krasnodar