NO.10 限时点击计数实例

要求

  1. 点击按钮中间数值增加
  2. 点击按钮开始倒计时
  3. 到达规定时间禁止点击按钮

样本

代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="index.css">
    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
    <title>倒计时</title>
</head>
<body>
    <div class="container">
        <div class="box">
            <p class="second" id="second">60</p>
            <p class="number" id="number">1</p>
        </div>
        <div class="btnbox">
            <button class="numberBtn" id="btn">Click me</button>
        </div>
    </div>
</body>
<script src="index.js"></script>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

Javascript

var btn = document.getElementById('btn');
var second = document.getElementById('second');
var number = document.getElementById('number');
var lock = false;
var btnClick = btn.addEventListener('click',function reckon(){
    var count = 60;
    var num = parseInt(document.getElementById('number').innerText);
    if(!lock){
        lock = true;
            var time = setInterval(function(){
                if(count>0){
                    count --;
                }else{
                    count = 60;
                    lock = false;
                }
                if (count == 0 ){
                    clearInterval(time);
                }
                second.innerText = count;        
            
        },1000);
    }
    document.getElementById('number').innerHTML = num +=1;
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

jQuery

$(document).ready(function(){
    var bigNumber = $('#number');
    var secondNumber = $('#second');
    var lock = false;
    $('#btn').click(function btnClick(){
        let const1 = parseInt($('#number').text());
        $('#number').text(const1+=1)
        if(!lock){
            lock = true;
            let numTime = parseInt($('#second').text());
            let time = setInterval(function(e){
                if(numTime > 0){
                    numTime --;
                }else{
                    numTime = 60;
                }

                if(numTime == 0){
                    $('#btn').attr('disabled',"false");
                    clearInterval(time)
                }
                $('#second').text(numTime)
            },1000)
        }
        
    })
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27