JS?限時(shí)限次數(shù)點(diǎn)擊按鈕的實(shí)現(xiàn)思路
限時(shí)限次數(shù)點(diǎn)擊按鈕
思路:用一個(gè)變量作為計(jì)數(shù),點(diǎn)擊一次,計(jì)數(shù)加一點(diǎn)擊函數(shù)內(nèi)判斷計(jì)數(shù)變量設(shè)置定時(shí)恢復(fù)
實(shí)現(xiàn)
HTML代碼
<body> <div class="a123"> <a class="btn bg1" onclick="doIt()">123123</a> <br> <div class="show"></div> </div> </body>
CSS代碼
.btn{ display: inline-block; width: 80px; height: 40px; line-height: 40px; border-radius: 5px; cursor: pointer; } .bg1{ background-color: rgb(21, 93, 248); color: white; .bg2{ background-color: rgb(53, 53, 53); .a123{ width: 500px; height: 300px; border: 1px solid pink; margin: 200px auto; padding: 30px; text-align: center;
JS代碼
<script> //計(jì)數(shù)變量 var count = 0; //3秒鐘重置一次計(jì)數(shù) 并恢復(fù)按鈕 var resetC = window.setInterval(function(){ //恢復(fù)計(jì)數(shù) 恢復(fù)點(diǎn)擊事件 count = 0; $('.btn').attr('onclick','doIt()'); //恢復(fù)背景顏色 $('.btn').addClass('bg1'); $('.btn').removeClass('bg2'); },1000*10); //點(diǎn)擊事件 function doIt(){ //點(diǎn)一次 計(jì)數(shù)加一 count += 1; //判斷計(jì)數(shù) 大于2 就 if(count >= 2){ //移除 點(diǎn)擊函數(shù) $('.btn').removeAttr('onclick'); //更換背景CSS $('.btn').addClass('bg2'); $('.btn').removeClass('bg1'); } //將計(jì)數(shù)顯示出來(lái) $('.show').text(count); } </script>
TIPS
定時(shí)函數(shù)
定時(shí)一次setTimeout()
,單次使用
var timeOut = window.setTimeout(function(){ //里面放定時(shí)任務(wù) },1000); //1000 是指時(shí)間,即1000ms
循環(huán)定時(shí)setInterval()
,需要使用clearInterval()
來(lái)清除定時(shí)任務(wù)
var resetC = window.setInterval(function(){ //里面放定時(shí)任務(wù) },1000); /* 1000 是指時(shí)間,即1000ms 這個(gè)定時(shí)任務(wù),每隔1s就會(huì)觸發(fā)一次。 如果要清除,使用clearInterval()函數(shù) */ window.clearInterval(resetC);
禁止選中文字
使用<a>
標(biāo)簽作為點(diǎn)擊元素, 當(dāng)點(diǎn)擊事件頻繁時(shí) ,文字會(huì)被選中,不好看
CSS代碼實(shí)現(xiàn)
body{ -moz-user-select: none; /*火狐*/ -webkit-user-select: none; /*webkit瀏覽器*/ -ms-user-select: none; /*IE10*/ -khtml-user-select: none; /*早期瀏覽器*/ user-select: none; }
到此這篇關(guān)于JS 限時(shí)限次數(shù)點(diǎn)擊按鈕的文章就介紹到這了,更多相關(guān)JS 點(diǎn)擊按鈕內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于BootStrap的Metronic框架實(shí)現(xiàn)頁(yè)面鏈接收藏夾功能按鈕移動(dòng)收藏記錄(使用Sortable進(jìn)行拖動(dòng)排序)
這篇文章主要介紹了基于BootStrap的Metronic框架實(shí)現(xiàn)頁(yè)面鏈接收藏夾功能按鈕移動(dòng)收藏記錄(使用Sortable進(jìn)行拖動(dòng)排序)的相關(guān)資料,非常不錯(cuò),需要的朋友可以參考下2016-08-08layui點(diǎn)擊導(dǎo)航欄刷新tab頁(yè)的示例代碼
今天小編就為大家分享一篇layui點(diǎn)擊導(dǎo)航欄刷新tab頁(yè)的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08JavaScript中你不知道的Object.entries用法
大家應(yīng)該都知道,Object.entries()方法返回一個(gè)給定對(duì)象自身可枚舉屬性的鍵值對(duì)數(shù)組,其排列與使用 for...in 循環(huán)遍歷該對(duì)象時(shí)返回的順序一致,這篇文章主要給大家介紹了關(guān)于JavaScript中你不知道的Object.entries用法的相關(guān)資料,需要的朋友可以參考下2021-10-10JavaScript移動(dòng)端常用事件之touch觸摸事件詳解
觸屏事件touch也稱(chēng)為觸摸事件,touch對(duì)象代表一個(gè)觸摸點(diǎn),觸摸點(diǎn)可能是一根手指,也可能是一根觸摸筆,觸屏事件可響應(yīng)用戶(hù)手指(或觸摸筆)對(duì)屏幕或者觸控板操作,下面這篇文章主要給大家介紹了關(guān)于JavaScript移動(dòng)端常用事件之touch觸摸事件的相關(guān)資料,需要的朋友可以參考下2022-10-10JS 在數(shù)組插入字符的實(shí)現(xiàn)代碼(可參考JavaScript splice() 方法)
在數(shù)組插入字符,添加數(shù)組,刪除數(shù)組可以用slice自帶的方法。操作比較方便,這個(gè)代碼是作者通過(guò)push與shift方法實(shí)現(xiàn),只能是個(gè)思路,但不推薦這樣的方法。2009-12-12JavaScript實(shí)現(xiàn)簡(jiǎn)單的拖拽效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單的拖拽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-111分鐘快速了解js實(shí)現(xiàn)下載文件功能的4種方式
在前端開(kāi)發(fā)中,我們經(jīng)常需要實(shí)現(xiàn)文件下載功能,例如下載用戶(hù)上傳的圖片、用戶(hù)生成的文件等,這篇文章主要給大家介紹了關(guān)于如何通過(guò)1分鐘快速了解js實(shí)現(xiàn)下載文件功能的4種方式,需要的朋友可以參考下2024-03-03