JS点击计数存储案例

2023-10-29

项目功能要求:

点击页面红色块默认不计数;

点击开始按钮后再点击红色块则开始计数;

点击结束按钮后再点击红色块则不计数;

关闭页面并再次打开页面,界面会显示上次关闭页面时的计数值。

代码设计:

本项目结合了前端页面的设计和JS的使用。具体代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>点击计数</title>
		<style type="text/css">
			*{
				margin: 0 auto;
				padding: 0;
			}
			.d1{
				width: 1000px;
				height: 500px;
				border: 2px solid #000000;
				border-radius: 15px;
				margin: 100px auto;
			}
			.d2{
				display: block;
				height: 100px;
				width: 100%;
				border-bottom: #999999 solid 1px;
			}
			.d3{
				height: 400px;
				width: 100%;
			}
			.d4,.d5{
				display: inline-block;
				height: 100px;
				width: 200px;
			}
			.d6{
				display: inline-block;
				height: 100px;
				width: 590px;
			}
			button{
				display: block;
				margin: 20px auto;
				padding: 0;
				height: 60px;
				width: 120px;
				border: 2px solid #FF0000;
				line-height: 60px;
				text-align: center;
				border-radius: 15px;
			}
			.d9{
				margin: 20px auto;
				padding: 0;
				height: 60px;
				width: 300px;
				line-height: 60px;
				border: 2px solid #FF0000;
				text-align: center;
				border-radius: 15px;
			}
			.d10{
				display: block;
				margin: 60px auto;
				padding: 0;
				height: 200px;
				width: 500px;
				border: 2px solid #4E6EF2;
				border-radius: 15px;
				background-color: #FF0000;
			}
			span{
				display: inline-block;
			}
		</style>
	</head>
	<body>
		<div class="d1">
			<div class="d2">
				<div class="d4">
					<button type="button" class="d7">开始</button>
				</div>
				<div class="d5">
					<button type="button" class="d8">停止</button>
				</div>
				<div class="d6">
					<span>当前点击次数:</span><span></span>
				</div>
			</div>
			<div class="d3">
				<button type="button" class="d10"></button>
			</div>
		</div>
		<script type="text/javascript">
			let btn = document.getElementsByTagName('button');
			let firstBtn = btn[0];
			let lastBtn = btn[1];
			let sum = btn[2];
			let span = document.getElementsByTagName('span')[1];
			let num=parseInt(localStorage.getItem('num')||0);
			span.innerText = num;
			console.log('当前点击次数:', num);
			firstBtn.onclick = function(){
				console.log('计数开始');
				sum.onclick = function(){
					num++;
					span.innerText = num;
					console.log('当前点击次数:', num);
					localStorage.setItem('num',num)
				}
			}
			lastBtn.onclick = function(){
				console.log('计数结束');
				sum.onclick = function(){
					console.log('当前点击次数:', num);
				}
			}
		</script>
	</body>
</html>

项目结果展示:

第一次运行项目前,此时默认计数为0,且直接点击红色块不会计数:

 第一次运行,点击开始按钮后,点击红色块,则会随着点击次数不断加值:

 第一次运行结束,点击停止按钮,再点击红色块,则不会增加次数值:

 关闭页面,再次运行项目,则还是显示次数7,因为系统存储了项目次数信息:

希望此次分享能给大家带来一些前端网页以及JS知识上的帮助(喜欢小编的关注、点赞走一波呦,后期会不定期分享更多Python、JS和前端相关知识)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS点击计数存储案例 的相关文章

  • 仅在 Chrome 上我收到此错误:Uncaught TypeError: Illegal constructor [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 当我在 Chrome 上加载 jQuery 时 我会收到此错误 Uncaught TypeError Illegal constr
  • JavaFX使节点覆盖父节点边框颜色

    我有一个如下所示的节点 仅使用 css 我希望标签覆盖其父边框颜色 因此标签下方的边框颜色部分变得不可见 我用来制作这个边框的CSS代码 fx border color black fx border width 3 fx border r
  • “require(...)”是常见的 JavaScript 模式还是库函数?

    我通常发现这是 node js 脚本 模块以及 phantomJS casperJS 等中的第一行 我很好奇 这是否是服务器端 javascript SSJS 的常见模式 类似于 include在 C C 中或import在 Java 中
  • 自调用函数未定义

    如果我声明一个函数文字 var x function alert hi console log x returns the function code However var x function alert hi console log
  • 非法使用break语句; javascript

    当这个变量达到一定数量时 我希望循环停止 但我不断收到错误 未捕获的语法错误 非法的中断语句 function loop if isPlaying jet1 draw drawAllEnemies requestAnimFrame loop
  • Next.js:错误:React.Children.only 期望接收单个 React 元素子元素

    我有一个名为Nav inside components目录及其代码如下所示 import Link from next link const Nav gt return div a Home a a About a div export d
  • Socket IO 服务器到服务器

    服务器是否可以使用 Socket IO 连接到另一个服务器并被视为客户端 并让它加入房间 接收 io sockets in lobby emit 和更多 第一个服务器也在监听连接 消息 嘿 Brad 下面是我的完整 js 应用程序 供参考
  • JSONP 使用 JQuery 从 HTTPS 协议获取 JSON

    我正在尝试获取从 https 安全站点发送的 JSON 客户端希望不要使用任何服务器端语言 全部都是 Javascript 我读到 当使用 Jquery 中的 ajax 函数时 我必须使用 JSONP 才能从安全站点加载 JSON 我的第一
  • 嵌套 DIV 的类似斑马的 CSS 样式

    我嵌套了 DIV 元素 但我不知道嵌套的级别 我需要每个都有与其父级不同的背景 创建类似斑马的颜色 我只使用两种背景 深色和白色 效果需要类似于在容器中设置奇数和偶数子级的样式 但在我的例子中 子级是嵌套的 我可以使用每个嵌套元素的规则来做
  • 中有样式表 吗?

    在内部链接 CSS 文件是一个坏主意吗 body 我读过 如果浏览器在外部找到另一个 CSS 文件 则它会被迫重新开始 CSS 渲染 head 只是因为它可能需要将样式应用于已经渲染的元素 另外 我认为 HTML 无法正确验证 我需要确认这
  • jQuery 中什么函数相当于 .SelectMany()?

    让我解释一下 我们知道 jQuery 中的映射函数充当 Select 如 LINQ 中 tr map function return this children first returns 20 tds 现在的问题是我们如何在 jQuery
  • for循环中需要声明变量吗?

    有什么区别 for var i 0 i lt 5 i for i 0 i lt 5 i 是否有必要包含 var 关键字 我知道 var 关键字会影响变量范围 但我无法理解是否有必要在 for 循环中包含该关键字 在第二个示例中 您的变量是全
  • 使用 ng-if 改变角度方向

    我想通过单击将方向从 rtl 更改为 ltr and in 设置 html
  • 在 React Web 应用程序中使用 createjs-soundjs

    我想用https www npmjs com package createjs soundjs https www npmjs com package createjs soundjs在 React Web 应用程序上播放声音 我正常安装了
  • 如果选中复选框则显示 div

    我正在尝试构建类似 WordPress 选项的东西 用于在创建文章时切换字段可见性 我所构建的依赖于 click函数使用相应的字段名称切换父项 我想知道如果选中该复选框 执行此操作的最佳方法是什么 因为如果您选中一个框并重新加载页面 因为它
  • 标记(Markdown)+ Mermaid(流程图和图表)

    努力去争取 美人鱼 https github com knsv mermaid https github com knsv mermaid跟 共事 标记 https github com chjj marked https github c
  • PHP 文件上传帮助

    div align center div 这是我的代码
  • 减小 TinyMCE 文本区域中的行间距

    I am using TinyMCE to provide a rich text editing text editor But the line spacing between the lines is too much I have
  • $ 在 JQuery 中意味着什么

    在下面的 var obj one 1 two 2 three 3 four 4 five 5 each obj function i val console log val 这里是什么意思 是对象吗 是一个别名jQuery对象 函数 它充当
  • 为什么 try catch 块没有捕获 Promise 异常?

    我对承诺的错误处理感到困惑 答案可能很明显 但我不明白 我有以下示例代码 var test async function throw new Error Just another error try test then catch err

随机推荐

  • (二)主板BIOS设置与硬盘分区、调整

    1 主板BIOS设置 前提 你得有一台电脑 台式机或笔记本电脑都行 BIOS负责开机时对系统中各个硬件进行初始化设置和测试 以确保系统能正常工作 是电脑硬件与软件程序之间的一座桥梁 电脑在开机启动之前 首先要检查BIOS 它是计算机最底层的
  • VishwaCTF 2022 部分wp

    学长推荐的一个相对平易近人的ctf 对我这种菜鸡友好一点 就想着web要多写几道出来毕竟简单的比赛不常见 继续加油积累经验吧 My Useless Website 一个最简单的sql 万能密码注入 Stock Bot 注意源码 有hint
  • 安装了360天擎不能读u盘_关于硬盘/U盘/储存卡格式,你不得不知道的常识!

    https www zhihu com video 942459588977627136 情况一 你手里有一只U盘或者SD卡 存储容量有16G甚至32G 但用它来拷贝东西的时候你发现 文件超过4G之后 就无法拷贝 这时候 你到底该怎么办呢
  • 实现图片的裁剪和融合。

    请参考之前的博客链接 https blog csdn net Helloorld 1 article details 130107465 spm 1001 2014 3001 5502 如何实现裁剪图片 本文主要是讲述如何利用SAM Seg
  • OpenGL学习笔记(五)-投光物-多光源

    参考网址 LearnOpenGL 中文版 哔哩哔哩教程 2 5 投光物 2 5 1 平行光 1 当一个光源处于很远的地方时 来自光源的每条光线就会近似于互相平行 例如太阳 不论物体和 或者观察者的位置 看起来好像所有的光都来自于同一个方向
  • python Flask中返回图片流给前端展示

    场景需求 需要在Flask服务器的本地找一张图片返回给前端展示出来 问题疑点 通常前端的 img 标签只会接受url的形式来展示图片 没试过在返回服务器本地的一张图片给前端 因此写个记录一下这个看起来有点奇葩的场景 通常个人博客 个人网站没
  • centos 7.9 yum 安装最新版docker与dnf安装docker compose v2

    centos 7 9 yum 安装最新版docker与dnf安装docker compose v2 一 环境查看 1 系统内核 uname r 2 系统版本 cat etc redhat release 二 更新yum源 1 备份旧yum仓
  • 网站遭受攻击高防cdn进行防御的原理是什么?

    网站遭受攻击高防cdn进行防御的原理是什么 什么是高防cdn cdn的全称是Content Delivery Network 即内容分发网络 最近这几年 互联网络技术不断改进的同时 网络安全问题日益严峻 在这样的互联网环境下 高防cdn由此
  • 最小二乘法的一般形式和矩阵形式原理推导和代码实现

    转自 作者 金良 golden1314521 gmail com csdn博客 http blog csdn net u012176591 1 线性代数模型 首先给出最小二乘解的矩阵形式的公式 推导过程 条件 矩阵必须是列满秩矩阵 否则的逆
  • Git 命令图形化在线练习

    git 命令在线练习网址如下 http onlywei github io explain git with d3 在master上先提交2个commit 创建3个分支 分支1打5个commit 分支2打6commit 分支3commit
  • 欧式几何与非欧式几何

    欧氏几何 几何学的一门分科 公元前3世纪 古希腊数学家欧几里得把人们公认的一些几何知识作为定义和公理 在此基础上研究图形的性质 推导出一系列定理 组成演绎体系 写出 几何原本 形成了欧氏几何 在其公理体系中 最重要的是平行公理 由于对这一公
  • Java常见的十道语法题-详解

    1 判断 101 200 之间有多少个素数 并输出所有素数 代码如下 判断素数 public static void main String args boolean flag 定义标记语句 for int i 101 i lt 200 i
  • 区块链概述

    一 什么是区块链 区块链是一个信息技术领域的术语 区块链是借由密码学串接以保护内容的自增长的交易记录列表 又称区块 每一个区块包含了前一个区块的哈希值 本区块的时间戳记以及交易数据 通常用默克尔树结构的哈希值表示 这样的设计使得区块内容具有
  • Chromedriver安装和配置

    首先安装Chromedriver 下载网址 http npm taobao org mirrors chromedriver 找到与你chrome浏览器对应版本的下载 上面只是一部分 如果没有的可以上百度查一下 然后指定路径进行安装 这里我
  • 【Python编程】Python实现生产者消费者模式(多线程爬虫)

    Python实现生产者消费者模式 多线程爬虫 1 多组件的Pipeline技术架构 复杂的事情一般都不会一下子做完 而是会分很多中间步骤一步步完成 2 生产者消费者爬虫的架构 3 多线程数据通信的 queue Queue queue Que
  • Order By 和 Group By的适用场景

    Order By和Group By看起来很像 但实际上使用用途和适用场景实际上很大的不同 Order By Order By是排序根据所给字段进行排序 select from s order by sname desc sage desc
  • tensorflow 1.13.1 安装采坑

    环境 win10 x64位 cuda10 1 cudnn 7 5 vs2013 vs2015 distributed GTX1060 按照网上的教程安装 如下面博客 https blog csdn net huanyingzhizai ar
  • Android WebView打不开网页

    今天给公司前端同事打了个webview测试包 发现页面打不开 有两个原因 1 测试webview包没有配置好 特别是缓存没配置的同事用到h5缓存就打不开了 正确配置如下 设置支持javascript webView getSettings
  • Python第三方拓展包(安装下载方法)

    找到安装的位置 第一种方法 Anaconda集成环境 Anaconda集成环境 优点太多了 百度一大堆介绍 Anaconda的优点总结起来就八个字 省时省心 分析利器 省时省心 Anaconda通过管理工具包 开发环境 Python版本 大
  • JS点击计数存储案例

    项目功能要求 点击页面红色块默认不计数 点击开始按钮后再点击红色块则开始计数 点击结束按钮后再点击红色块则不计数 关闭页面并再次打开页面 界面会显示上次关闭页面时的计数值 代码设计 本项目结合了前端页面的设计和JS的使用 具体代码如下