zoukankan      html  css  js  c++  java
  • js限制按钮每隔一段时间才能再次点击

    设置属性 disabled 可以限制交互,单击按钮时添加disabled=“disabled”属性,再为按钮添加定时器,一定时间后删除定时器和disabled属性

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 
     4 <head>
     5     <meta charset="UTF-8">
     6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     8     <title>Document</title>
     9 </head>
    10 
    11 <body>
    12     <button id='but'> 发送 </button>
    13
    14     <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
    15     <script>
    16         $(function() {
    17             $('#but').click(function() {
    18                 $(this).attr("disabled", "disabled");
    19                 var id = 10;
    20                 //定时执行
    21                 var timeing = setInterval(function() {
    22                     id = id - 1;
    23                     $('#but').html(id + 's');
    24                 }, 1000);
    25                 //延迟执行
    26                 window.setTimeout(function() {
    27                     //结束定时,恢复按钮可用
    28                     clearInterval(timeing);
    29                     $('#but').html('发送').removeAttr("disabled");
    30                 }, 10000);
    31             });
    32         });
    33     </script>
    34 </body>
    35 
    36 </html>

    或者用DOM

     1     <script>
     2         var but = document.getElementById('but');
     3         but.addEventListener('click', function() {
     4             var id = 10;
     5             var attr = document.createAttribute("disabled");
     6             attr.nodeValue = "disabled";
     7             //设置节点属性
     8             but.attributes.setNamedItem(attr);
     9             var timeing = setInterval(function() {
    10                 id = id - 1;
    11                 but.innerHTML = id + 's';
    12             }, 1000);
    13             window.setTimeout(function() {
    14                 clearInterval(timeing);
    15                 but.innerHTML = '发送';
    16                 //移除节点属性
    17                 but.attributes.removeNamedItem('disabled');
    18             }, 10000);
    19         });
    20     </script>
  • 相关阅读:
    DataGrid( 数据表格) 组件[2]
    DataGrid( 数据表格) 组件[1]
    Form( 表单) 组件
    Slider( 滑动条) 组件
    内存管理-常见内存泄露-(5)
    Android 内存管理分析(四)
    Android 之 内存管理-查看内存泄露(三)
    Android 内存管理(二)
    正确认识Android的内存管理机制,合理关闭进程 (一)
    谈谈Runtime类中的freeMemory,totalMemory,maxMemory等几个方法
  • 原文地址:https://www.cnblogs.com/umbed/p/12039583.html
Copyright © 2011-2022 走看看