由于用户的网络环境等各种原因,防止按钮重复点击,表单重复提交等都是减少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秒只会执行一次按钮点击应该执行的事情):
结语
- 本文的例子思路和实现都是相当简单的,但确是很实用的方法。
- 另外,从这个思路出发,还能解决一些类似的问题,比如:
- 音乐进度条的拖动。由于拖动的报告率太高,导致拖动过程界面卡顿,音乐的播放也很卡顿,那就可以用这个思路,每一段时间内只对应响应一次。
- 降低输入框的响应。
- 后续我们再聊聊上面这些例子的解决方法实现。他们本质都是这个模拟加锁的思路,但可能有些需要一些细节上不同的处理。
Привет!
Приобрести документ о получении высшего образования можно в нашей компании в Москве.
ast-diplomy.com/kupit-diplom-kandidata-nauk
https://mexicandeliverypharma.com/# п»їbest mexican online pharmacies
The story of Michael Phelps https://amerique.michael-phelps.com how he became the greatest swimmer of all time, overcoming adversity, setting records and inspiring the world.
Learn about Jayson Tatum’s https://celtics-de-boston.jayson-tatum.com rise from young rookie to key leader of the Boston Celtics in the NBA, his impact on the team and his success on the court.
The Boston Celtics https://celtics-de-boston.bill-russel.com are one of the most successful teams in the history of the National Basketball Association (NBA).
Здравствуйте!
Купить диплом о среднем полном образовании, в чем подвох и как избежать обмана?
diplomyx-man.ru
Discover Kyrie Irving’s https://mavericks-de-dallas.kyrie-irving-fr.com journey with the Dallas Mavericks, from his early days to forming a power duo with Luka Doncic and competing for a championship.
Добрый день!
Официальная покупка аттестата о среднем образовании в Москве и других городах
diploms-man.ru
https://mexicandeliverypharma.online/# mexican pharmaceuticals online
mexican drugstore online: mexico drug stores pharmacies – buying prescription drugs in mexico online
pharmacies in mexico that ship to usa: buying prescription drugs in mexico – purple pharmacy mexico price list
https://mexicandeliverypharma.online/# buying prescription drugs in mexico
п»їbest mexican online pharmacies mexican pharmaceuticals online best online pharmacies in mexico
mexican pharmaceuticals online: best online pharmacies in mexico – pharmacies in mexico that ship to usa
mexico drug stores pharmacies: mexican pharmaceuticals online – mexican border pharmacies shipping to usa
https://mexicandeliverypharma.com/# buying prescription drugs in mexico online
Привет!
Как оказалось, купить диплом кандидата наук не так уж и сложно
higherranker.com/купить-диплом-проверенные-способы/
Рады оказать помощь!.
best online pharmacies in mexico: п»їbest mexican online pharmacies – mexican pharmaceuticals online
mexican border pharmacies shipping to usa: medication from mexico pharmacy – reputable mexican pharmacies online
Добрый день!
Мы изготавливаем дипломы психологов, юристов, экономистов и других профессий по доступным тарифам.
niagarafallspal.com/read-blog/829_zhelaete-zakazat-diplom-u-nadezhnogo-proizvoditelya-zahodite
best online pharmacies in mexico: п»їbest mexican online pharmacies – pharmacies in mexico that ship to usa
buying prescription drugs in mexico: pharmacies in mexico that ship to usa – purple pharmacy mexico price list
buying prescription drugs in mexico online buying prescription drugs in mexico mexican pharmaceuticals online
mexican rx online reputable mexican pharmacies online mexican border pharmacies shipping to usa
https://mexicandeliverypharma.com/# mexican pharmaceuticals online
Deep Fake Nudes undress AI with Undress AI and Deepnude
pharmacies in mexico that ship to usa buying prescription drugs in mexico reputable mexican pharmacies online
Частная платная клиника https://mypsyhealth.ru психиатрии, психологии, психотерапии и наркологии анонимно в Москве.
mexican border pharmacies shipping to usa: medication from mexico pharmacy – medicine in mexico pharmacies
mexican drugstore online: buying prescription drugs in mexico online – mexican pharmaceuticals online
Immerse yourself in the charm of France https://france.life-in-france.net a land of fine cuisine, impressive architecture and picturesque landscapes. An unrivaled lifestyle.
baclofen 500 mg
создание сайтов сочи создание сайтов сочи .
https://mexicandeliverypharma.com/# mexican online pharmacies prescription drugs
purple pharmacy mexico price list: buying from online mexican pharmacy – buying from online mexican pharmacy
mexican rx online: mexican border pharmacies shipping to usa – best online pharmacies in mexico
Rodri https://manchester-city.rodrigo-hernandez.com le maestro du milieu de terrain de Manchester City
L’histoire epique du FC Barcelone https://espagne.barcelona-fr.com 120 ans de triomphes et de tribulations.
Indibet https://indibeti.in is a premier online casino offering a wide array of games including slots, table games, and live dealer options. Renowned for its user-friendly interface and robust security measures, Indibet ensures a top-notch gaming experience with exciting bonuses and 24/7 customer support.
mexican mail order pharmacies mexico pharmacy mexican pharmacy
download screen capture download screen capture program
Аренда автобуса с водителем в СПб: Ваш надежный выбор.
Если вам нужно заказать автобус в Санкт-Петербурге, СпринтурАвто предлагает оптимальные решения. Мы предлагаем аренду автобуса в СПб по выгодным условиям.
Пассажирские перевозки автобусы СПб от спринтуравто – это высокий уровень сервиса. Вы можете арендовать автобус для перевозки людей по выгодной цене. Наша компания предоставляет автобусы разной вместимости, удовлетворяющие любые запросы.
Для тех, кто нуждается в заказе автобуса в Санкт-Петербурге, sprinauto предлагает надежные транспортные услуги. Мы гарантируем профессиональных водителей, которые обеспечат безопасную и приятную поездку.
Не откладывайте на завтра, сделайте заказ автобуса прямо сейчас! Свяжитесь с нами по телефону +78129251575, чтобы получить консультацию и оформить заказ. СпринтурАвто – ваш надежный партнер для автобусных перевозок в Санкт-Петербурге и за его пределами.
medication from mexico pharmacy: buying prescription drugs in mexico online – buying prescription drugs in mexico online
best online pharmacies in mexico: purple pharmacy mexico price list – mexico drug stores pharmacies
https://mexicandeliverypharma.online/# buying prescription drugs in mexico
buying from online mexican pharmacy: best online pharmacies in mexico – mexican online pharmacies prescription drugs
mexican rx online: mexican drugstore online – pharmacies in mexico that ship to usa
https://mexicandeliverypharma.com/# mexico drug stores pharmacies
разработка сайтов разработка сайтов .
purple pharmacy mexico price list: mexican online pharmacies prescription drugs – pharmacies in mexico that ship to usa