商品页

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>商品页</title><style>td{border: 1px solid black;text-align: center;}img{width: 100px;}</style>
</head>
<body>
<table><tr><td>商品图片</td><td>商品名</td><td>价格</td><td style="width: 60px;text-align: center">操作</td></tr><tr><td><input type="hidden"value="0"><img src="./img/0.jpg" alt="iphone12"></td><td>iphone12</td><td>6299¥</td><td><a href="javascript:;">购买</a></td></tr><tr><td><input type="hidden"value="1"><img src="./img/1.jpg" alt="华为折叠屏手机"></td><td>HUAWEI</td><td>16999¥</td><td><a href="javascript:;">购买</a></td></tr><tr><td><input type="hidden"value="2"><img src="./img/2.jpg" alt="小米alpha"></td><td>mi</td><td>12999¥</td><td><a href="javascript:;">购买</a></td></tr><tr><td><input type="hidden"value="3"><img src="./img/3.jpg" alt="三星手机"></td><td>SAMSUNG</td><td>20999¥</td><td><a href="javascript:;">购买</a></td></tr>
</table>
<button>前往购物车</button>
<script>class product{constructor() {this.buy_btn = document.querySelectorAll('a')this.btn = document.querySelector('button')this.addEvent()}addEvent(){this.btn.onclick = function () {location.href = './cart.html'}for (let i = 0;i<this.buy_btn.length;i++){this.buy_btn[i].num = 0this.buy_btn[i].onclick = function () {let sp_coding = this.parentNode.parentNode.firstElementChild.firstElementChild.valuelet sp_img = this.parentNode.parentNode.firstElementChild.lastElementChild.srclet sp_name = this.parentNode.parentNode.firstElementChild.nextElementSibling.innerTextlet sp_price = this.parentNode.previousElementSibling.innerTextthis.num++let storage = window.localStoragestorage.setItem(`product_${sp_coding}`,`{"sp_coding":"${sp_coding}","sp_img":"${sp_img}","sp_name":"${sp_name}","sp_price":"${sp_price}","sp_num":"${this.num}"}`)}}}}new product()
</script>
</body>
</html>

购物车页

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>购物车页</title><style>td{border: 1px solid black;text-align: center;}img{width: 100px;}</style>
</head>
<body>
<table><tr><td>商品图片</td><td>商品编码</td><td>商品名称</td><td>商品价格</td><td>商品数量</td></tr>
</table>
<script>class cart{constructor() {this.table = document.querySelector('table')this.addEvent()}addEvent(){let storage = window.localStoragefor(let i = 0;i<storage.length;i++){let key = storage.key(i)let sp =JSON.parse(storage.getItem(key))let _tr = this.table.insertRow()let _td = _tr.insertCell()let img = document.createElement('img')img.src = sp.sp_img_td.appendChild(img)_td = _tr.insertCell()_td.innerText = sp.sp_coding_td = _tr.insertCell()_td.innerText = sp.sp_name_td = _tr.insertCell()_td.innerText = sp.sp_price_td = _tr.insertCell()_td.innerText = sp.sp_num}}
}
new cart()
</script>
</body>
</html>

原生javaScript利用loaclStorage实现简单购物车相关推荐

  1. 手把手教你原生JavaScript打造丝滑流畅的轮播图,让你的网站瞬间提升用户体验

    简介 轮播图是网页设计中常见的交互组件之一,用于展示多张图片或内容,让用户能够方便地浏览.切换和选择.本文将介绍如何使用原生 JavaScript 手写一个简单的轮播图,并且通过代码解释实现细节. 目 ...

  2. php简单的购物车,利用PHP实现一个简单购物车的demo示例代码

    利用PHP实现一个简单购物车的demo示例代码 数据结构跟关于PHP写购物车大体差不多,这里站长主要就购物车的主要业务逻辑进行一下说明: 1.用户未登陆时只能浏览商品,不能将其加入购物车 2.当未登陆 ...

  3. 根据id删除localstorage数据_原生js利用localstorage实现简易TODO list应用

    前言:小生不才,只懂得一些皮毛,我努力以最简单的语言将心中的想法表述出来,让更多人能够很轻松的弄明白.文章里面有不足之处望各位大牛指出,使得后面的文章能够朝着更好的方向发展.另外,大家记得点赞哟! 欢 ...

  4. js事件里面套事件怎么不管用_原生js利用localstorage实现简易TODO list应用

    前言:小生不才,只懂得一些皮毛,我努力以最简单的语言将心中的想法表述出来,让更多人能够很轻松的弄明白.文章里面有不足之处望各位大牛指出,使得后面的文章能够朝着更好的方向发展.另外,大家记得点赞哟! 欢 ...

  5. 为什么说要学习全新的原生 JavaScript?

    JavaScript 是前端开发工程师最重要的技能,没有之一.在 Vue.js.React.js.Koa.Echarts 等框架风靡一时的背景下,原生的 JavaScript 就可以被抛弃了吗?答案是 ...

  6. 使用 Vanilla JavaScript 框架创建一个简单的天气应用

    大家好,不知道大家听说过 Vanilla JavaScript 这款框架吗?最近我在浏览国外的一些技术网站时,这个词出现的频率实在是太高了,好多框架都宣称自己是基于 Vanilla JavaScrip ...

  7. 原生JavaScript抒写——贪吃蛇小游戏

    原生JavaScript抒写--贪吃蛇小游戏 文章目录 原生JavaScript抒写--贪吃蛇小游戏 前言 一.需求分析 二.效果展示 三.具体逻辑代码分析 1.首先创建一个html文件,然后我们利用 ...

  8. 使用原生javascript实现ajax提交form表单

    使用原生javascript实现ajax提交form表单 ============================ 1 准备表单        首先我们需要编写一个html代码,这里我是采用nodej ...

  9. 原生JavaScript实现jQuery中的slideUp和slideDown滑动效果

    参考文章:用原生JavaScript写出类似jQuery中slideUp和slideDown效果_johnworks的博客-CSDN博客   作者:johnworks 目录 一.前言 二.第一次尝试 ...

最新文章

  1. NA-NP-IE系列实验35:标准ACL
  2. 解决fstream不能打开带有中文路径文件的问题
  3. tomcat启动时一闪而过的几种原因
  4. feignRequest$Options错误
  5. 这是一份编程宝典,请查收!
  6. 统计剩余字数(jq版)
  7. UITableViewCell 添加 checkbox 多选
  8. 高斯计工作原理和高斯计使用方法图解
  9. Win7系统能用一键装机的方式安装win10吗?
  10. RestSharp.RestClient
  11. 三种Web服务交互方案
  12. 家庭宽带搭建个人服务器
  13. w ndows读音,汉字读音及音标 - 51windows.Net
  14. 与亲哥决裂20年,董明珠被踢出族谱:帮你是情分,不帮你是本分
  15. 【网易】网易2018实习生招聘笔试题-测试开发实习生
  16. SpringBoot小程序推送信息
  17. 苹果cms(mac cms)安装和避雷
  18. 【算法讲26:特征方程】求齐次线性一阶递推与二阶递推通项公式 | HDU 2021多校一 Pass!
  19. C语言将一个十进制数转化为二进制
  20. 智能内容安全平台的运营维护与分享

热门文章

  1. 【阅】大型网站技术架构
  2. dom事件操作例题,电子时钟,验证码,随机事件
  3. java 字符集升级_JAVA字符集
  4. 软件项目需求分析困难的原因
  5. 【安全知识分享】2021年安全生产月宣讲课件-交通安全(附下载)
  6. 出现涨价拐点,2022年新能源汽车向左or向右?
  7. minikube使用阿里云镜像服务器下载镜像
  8. 用队列实现栈--用两个队列模拟实现栈
  9. 新手学习eclipse使用
  10. input禁止输入html转义字符串,在HTML中取消转义CSS输入