JavaScript实现购物车基本功能


Posted in Javascript onJuly 21, 2017

JavaScript购物车最基本的功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下<!DOCTYPE html> 

<html> 
  <head> 
    <meta charset="UTF-8"> 
    <title></title> 
    <style type="text/css"> 
      table{ 
        border-collapse: collapse; 
      } 
      th{ 
        width: 80px; 
        height: 30px; 
      } 
      td{ 
        text-align: center; 
        line-height: 30px; 
      } 
    </style> 
  </head> 
  <body> 
    <div class="box"> 
      <table border="" cellspacing="" cellpadding=""> 
        <thead> 
          <th ><input type="checkbox" id="checkedAll"/>选择</th> 
          <th>商品</th> 
          <th>价格</th> 
          <th>数量</th> 
          <th>总价</th> 
          <th>操作</th> 
        </thead> 
        <tbody id="tb"> 
          <tr> 
            <td><input type="checkbox" /></td> 
            <td>黄焖鸡米饭1</td> 
            <td>10</td> 
            <td> 
              <span class="jian">-</span> 
              <input type="text" style="width: 30px;text-align: center;" value="1" readonly="readonly"/> 
              <span class="jia">+</span> 
            </td> 
            <td> 
              <span style="color: red;">10</span> 
            </td> 
            <td> 
              <a style="cursor: pointer;">删除</a> 
            </td> 
          </tr> 
          <tr> 
            <td><input type="checkbox" /></td> 
            <td>黄焖鸡米饭2</td> 
            <td>20</td> 
            <td> 
              <span class="jian">-</span> 
              <input type="text" style="width: 30px;text-align: center;"value="1" readonly="readonly"/> 
              <span class="jia">+</span> 
            </td> 
            <td> 
              <span style="color: red;">20</span> 
            </td> 
            <td> 
              <a style="cursor: pointer;">删除</a> 
            </td> 
          </tr> 
        </tbody> 
      </table> 
    </div> 
  </body> 
  <script> 
    window.onload=function(){ 
      var checkedAll=document.getElementById("checkedAll") 
      var tb=document.getElementById("tb") 
      var oinput=tb.getElementsByTagName('input') 
      var jian=document.getElementsByClassName('jian') 
      var jia=document.getElementsByClassName('jia') 
      var shanchu=tb.getElementsByTagName('a') 
      console.log(shanchu) 
       
      //全选 
      checkedAll.onclick=function(){ 
        for(var i=0;i<oinput.length;i++){ 
          oinput[i].checked=this.checked 
        } 
      } 
      //当下级有一个没有选中时那么全选按钮则为false状态 
      for(var i=0;i<oinput.length;i++){ 
        oinput[i].onclick=function(){ 
          var qx=true 
          for(var i=0;i<oinput.length;i++){ 
            if(oinput[i].checked==false){ 
              qx=false 
            } 
          } 
          checkedAll.checked=qx 
           
        } 
      } 
      checkedAll.onclick=function(){ 
        for(var i=0;i<oinput.length;i++){ 
          oinput[i].checked=this.checked 
        } 
    } 
 
    for(var i=0;i<oinput.length;i++){ 
      oinput[i].onclick=function(){ 
        var qx = true; 
        for(i=0;i<oinput.length;i++){ 
            if(oinput[i].checked==false){ 
              qx=false 
            } 
          } 
          checkedAll.checked=qx 
         
      } 
    } 
   
      //加 
      for(var i=0;i<jia.length;i++){ 
        jia[i].onclick=function(){ 
          //previousSibling上一个兄弟节点  
          var val = parseInt(this.previousSibling.previousSibling.value); 
          this.previousSibling.previousSibling.value = val + 1; 
          jisuan(this) 
        } 
         
      } 
      //减 
      for(var i=0;i<jian.length;i++){ 
        jian[i].onclick=function(){ 
          //nextSibling下一个兄弟节点 
          var val = parseInt(this.nextSibling.nextSibling.value); 
          if(val > 1) { 
            this.nextSibling.nextSibling.value = val - 1; 
          } 
          jisuan(this) 
        } 
      } 
      //操作删除 
       
      for(var i=0;i<shanchu.length;i++){ 
        shanchu[i].onclick=function(){ 
          var conf = confirm('确定删除这件商品吗?'); 
          //parentNode父节点 
          console.log(this.parentNode.parentNode) 
          if(conf) { 
          //removeChild 删除节点  
            tb.removeChild(this.parentNode.parentNode);  
          } 
        } 
      } 
       
      //总价 
      function jisuan(t){ 
        var tr=t.parentNode.parentNode  
        var result=document.getElementById("result") 
          var td=tr.getElementsByTagName('td') 
          td[4].getElementsByTagName('span')[0].innerHTML = parseInt(td[2].innerHTML)*parseInt(t.parentNode.getElementsByTagName('input')[0].value) 
      } 
    } 
  </script> 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery操作单选按钮以及复选按钮示例
Sep 23 Javascript
jQuery插件bxSlider实现响应式焦点图
Apr 12 Javascript
浅谈JS中json数据的处理
Jun 30 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
Jan 19 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
Mar 17 Javascript
axios 封装上传文件的请求方法
Sep 26 Javascript
React如何实现浏览器打印部分内容详析
May 19 Javascript
微信小程序使用npm包的方法步骤
Aug 13 Javascript
利用JS代码自动删除稿件的普通弹幕功能
Sep 20 Javascript
vue $set 给数据赋值的实例
Nov 09 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
Aug 06 Javascript
vue完美实现el-table列宽自适应
May 08 Vue.js
解决html input验证只能输入数字,不能输入其他的问题
Jul 21 #Javascript
js案例之鼠标跟随jquery版(实例讲解)
Jul 21 #jQuery
基于input框覆盖掉数字英文的实例讲解
Jul 21 #Javascript
浅谈通过JS拦截 pushState和replaceState事件
Jul 21 #Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
Jul 20 #Javascript
Bootstrap滚动监听组件scrollspy.js使用方法详解
Jul 20 #Javascript
微信小程序获取微信运动步数的实例代码
Jul 20 #Javascript
You might like
Linux安装配置php环境的方法
2016/01/14 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
php的常量和变量实例详解
2017/06/27 PHP
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
display和visibility的区别示例介绍
2014/02/26 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
Python复制文件操作实例详解
2015/11/10 Python
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
Python heapq使用详解及实例代码
2017/01/25 Python
Tesserocr库的正确安装方式
2018/10/19 Python
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
Python如何转换字符串大小写
2020/06/04 Python
倩碧美国官网:Clinique美国
2016/07/20 全球购物
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
情侣吵架检讨书
2014/02/05 职场文书
班班通校本培训方案
2014/03/12 职场文书
九九重阳节标语
2014/10/07 职场文书
政风行风整改方案
2014/10/25 职场文书
人口与计划生育责任书
2015/05/09 职场文书
公证书
2019/04/17 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技