JS 实现限时限次数点击按钮

作者:交互手记

时间:2026-10-25

浏览:218

本文介绍如何利用 JavaScript 实现限制按钮点击次数及限时重置的功能。通过计数变量控制点击上限,结合 setInterval 设置冷却时间,并在达到限制时移除点击事件、改变样式。同时涵盖 setTimeout 与 setInterval 的区别及防止文字选中的 CSS 技巧。

文章目录

限时限次数点击按钮

核心思路:引入一个计数变量,每次点击时该变量自增。在点击处理函数内部,判断计数是否达到设定值,若达到则禁用按钮或重置状态,并配合定时器实现限时恢复。
具体实现步骤如下。

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;

JavaScript 逻辑代码部分。

<script>
 
//计数变量
var count = 0;
//3秒钟重置一次计数 并恢复按钮
var resetC = window.setInterval(function(){
    //恢复计数   恢复点击事件
    count = 0;
    $('.btn').attr('onclick','doIt()');
    //恢复背景颜色
    $('.btn').addClass('bg1');
    $('.btn').removeClass('bg2');
},1000*10);
//点击事件
function doIt(){
     //点一次  计数加一
     count += 1;
    //判断计数  大于2  就
    if(count >= 2){
        //移除 点击函数
        $('.btn').removeAttr('onclick');
        //更换背景CSS
        $('.btn').addClass('bg2');
        $('.btn').removeClass('bg1');
    }
    //将计数显示出来
    $('.show').text(count);
}
</script>

技术要点提示。

关于定时函数的使用。

单次定时任务使用 setTimeout(),适用于只需执行一次的场景。

var timeOut = window.setTimeout(function(){
    //里面放定时任务
},1000);
//1000 是指时间,即1000ms

循环定时任务使用 setInterval(),必须配合 clearInterval() 来清除正在运行的定时任务,否则会导致内存泄漏或逻辑错误。

var resetC = window.setInterval(function(){
	//里面放定时任务
},1000);
/*
  1000 是指时间,即1000ms
  这个定时任务,每隔1s就会触发一次。
  如果要清除,使用clearInterval()函数
*/
window.clearInterval(resetC);
禁止用户选中页面文字。

当使用 <a> 标签作为点击触发元素时,若用户频繁快速点击,浏览器默认行为会导致文字被选中,影响视觉体验。

可通过 CSS 代码实现禁止选中的效果。

body{
    -moz-user-select: none; /*火狐*/
    -webkit-user-select: none; /*webkit浏览器*/
    -ms-user-select: none; /*IE10*/
    -khtml-user-select: none; /*早期浏览器*/
    user-select: none;
}

以上就是关于 JS 实现限时限次数点击按钮的完整介绍,更多相关 JS 点击按钮内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章