首页 > 编程语言 >javascript按钮通过cookie限制60s后才可以点击

javascript按钮通过cookie限制60s后才可以点击

时间:2023-08-01 17:58:29浏览次数:37  
标签:const 60s javascript 倒计时 点击 cookie 按钮 endTime

javascript按钮通过cookie限制60s后才可以点击

1️⃣ 首先创建一个html页面,放入一个按钮

 

2️⃣ 设置点击按钮的触发函数

一般当点击按钮都会有一些业务需要,在需求结束后,触发saveCookie的方法

 

3️⃣ saveCookie方法

当点击查询按钮之后,触发saveCooike方法,按钮倒计时需要一个结束时间,去给他做一个秒数的时间差

 

 

4️⃣监听cookie

当cookie存入浏览器中,我们需要不停的去获取cookie的值,根据cookie的值,去触发按钮倒计时的方法,而且这个方法要在页面一开始就执行

不停的去监控cookie的值的变化,一旦cookie里面有值,说明点击了查询按钮,说明我们要该进入倒计时方法了

 

 

 

5️⃣ 当监听到页面cookie里面的endtime有值了,可以开始进入setTime()倒计时方法了

 

 到此,页面按钮的倒计时方法就结束了,最后,效果图如下

6️⃣效果图

 点击查询按钮进入倒计时

 刷新页面倒计时不会停止,因为结束时间存在cookie里面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>javascript按钮通过cookie限制60s后才可以点击</title>
</head>
<body>
<div id="test">
    <table id="test_table">
        <td>
            <input id="testButton" type="button" name="search"
                   style="letter-spacing:4px" value="查询" onclick="getZLDT()">
        </td>
    </table>
</div>
<script type="text/javascript"></script>
<script src="../lib/easyui/2.3/js/jquery-1.6.min.js"></script>
<script src="../lib/jqueryui/external/jquery.cookie.js"></script>
<SCRIPT language="javascript">

    // 页面已进入就执行里面的方法
    $(document).ready(function () {
        // 监听cookie的变化
        setInterval("watchCookie()", 100);


    });

    function watchCookie() {
        let endTime = $.cookie("endTime");
        if (endTime !== undefined && endTime !== "null") {
            setTime(endTime);
        }

    }

    // 定义按钮函数
    function getZLDT() {
        /**
         * 这部分地方一般是点击按钮查询数据库的逻辑,这里不探讨,只实现功能
         */
        // 定义保存cookie的方法
        saveCookie();
    }

    function saveCookie() {
        // 获取当前时间
        const now = new Date().getTime();
        // 获取60s之后倒计时结束的时间
        const endTime = 60 * 1000 + now;
        // 将结束时间存入cookie中
        $.cookie("endTime", endTime);
    }

    // 倒计时方法
    function setTime(a) {
        if (a !== undefined && a !== "null") {
            const now = new Date().getTime();
            // 3.计算秒数
            const time = (a - now) / 1000;
            const times = parseInt(time);
            // 如果倒计时走完,将按钮变为可选取,并且将cookie的值置为null
            if (times <= 0) {
                document.getElementById('testButton').disabled = false;
                // 倒计时完成从xx秒后再次导入变为导入
                document.getElementById('testButton').value = "查询";
                $.cookie("endTime", "null");
            } else {
                // 禁用按钮并且将按钮内容改变
                document.getElementById('testButton').disabled = true;
                document.getElementById('testButton').value = times + "秒后再次点击";
            }
        }
    }


</SCRIPT>
</body>
</html>

 

标签:const,60s,javascript,倒计时,点击,cookie,按钮,endTime
From: https://www.cnblogs.com/preciouslove/p/17598606.html

相关文章

  • 计算机基础与JavaScript初识
    一:编程介绍编程:就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程.计算机程序:就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌握的语言来编写的,所以人们要控制计算机一定要通过计算机语言向计算机发出命令。从事编程的人员,就是程......
  • JavaScript基础02
    隐式类型转换加法运算中,如果参与运算的有一个值不是数字,另外一个值是数字,会将数字隐式转换成字符串再与数字进行拼接减乘除取余运算中,如果有非数字,会将它隐式转成数值,然后参与运算;如果参与运算存在NaN,那么得到的是NaN运算符算术运算符+-*/%一元运算符++自增--自......
  • 什么是 cookie,有什么用?
    HTTP是无状态连接,也即当使用HTTP协议来传输信息时,两端不会保存上一次传输的状态。此时考虑一个会员制网站的需求,网站需要记住帐户的登录状态以提供不一样的服务,于是在用户登录后,网站会返回一个cookies,下次用户再访问该网站时,会将上一次的cookie一起发送给网站。cookies就......
  • 视频直播网站源码,前端效果-css+javascript
    视频直播网站源码,前端效果-css+javascript <!DOCTYPEhtml><html><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"content="w......
  • JavaScript
    1、什么是JavaScriptJavaScript是一门世界上最流行的脚本语言一个合格的后端人员,必须精通JavaScript历史:https://blog.csdn.net/kese7952/article/details/793578682、快速入门2.1、引入JavaScript1、内部标签<script>//......</script>2、外部标签abs.js//......
  • JavaScript基础01
    javaScript作用1.嵌入动态文本于HTML页面。2.对浏览器事件做出响应。3.读写HTML元素。4.在数据被提交到服务器之前验证数据。5.检测访客的浏览器信息。控制cookies,包括创建和修改等。6.基于Node.js技术进行服务器端编程。js主要的内容ECMAScript语法变量......
  • JavaScript 浅拷贝和深拷贝详解
    一、基本数据类型和引用数据类型基本数据类型:1.Number(数字类型)2.String(字符串类型)3.Boolean(布尔类型)4.Null(空类型)5.Undefined(未定义类型)6.Symbol(符号类型)引用数据类型:Object(对象类型):表示一组无序的键值对,例如{name:'张三',age:18}。基本数据类型是简单的数据类型,它......
  • javascript实现浏览器端大文件分块上传
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传  可以带参数        [HttpPost("upload")]        publicJsonResultuploadProject(I......
  • 【Web开发指南】如何用MyEclipse进行JavaScript开发?
    由于MyEclipse中有高级语法高亮显示、智能内容辅助和准确验证等特性,进行JavaScript编码不再是一项繁琐的任务。MyEclipsev2023.1.1离线版下载MyEclipse技术交流群:742336981欢迎一起进群讨论JavaScript项目在MyEclipse 2021及以后的版本中,大多数JavaScript支持都是开箱即用......
  • #yyds干货盘点#JavaScript正则表达式(手机号码、邮箱、日期)
    JavaScript正则表达式(手机号码、邮箱、日期)在平时的工作中,经常会遇到一些验证的功能,其中如号码、邮箱、日期之类的验证,但是在平常使用时,直接就抄了一份用,并没有很详细的研究过,所以就在这儿记录了一些常用的表达式,慢慢学习的同时,也分享给大家。手机号码由于现在虚拟号码的使用,所以......