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 相关文章推荐
json简单介绍
Jun 10 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
Nov 07 Javascript
javascript实现带下拉子菜单的导航菜单效果
May 14 Javascript
JS实现霓虹灯文字效果的方法
Aug 06 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
Jan 26 Javascript
JavaScipt选取文档元素的方法(推荐)
Aug 05 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
Dec 13 Javascript
简单的vue-resourse获取json并应用到模板示例
Feb 10 Javascript
React中ES5与ES6写法的区别总结
Apr 21 Javascript
基于Vue 服务端Cookies删除的问题
Sep 21 Javascript
vue集成百度UEditor富文本编辑器使用教程
Sep 21 Javascript
如何基于javascript实现贪吃蛇游戏
Feb 09 Javascript
解决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
php 动态执行带有参数的类方法
2009/04/10 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
详解PHP匿名函数与注意事项
2016/03/29 PHP
介绍JavaScript的一个微型模版
2015/06/24 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
python杀死一个线程的方法
2015/09/06 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Python unittest模块用法实例分析
2018/05/25 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
python微信撤回监测代码
2019/04/29 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
Python语法垃圾回收机制原理解析
2020/03/25 Python
Python通过format函数格式化显示值
2020/10/17 Python
建筑工程专业大学生求职信
2014/04/23 职场文书
授权委托书格式范文
2014/08/02 职场文书
2015年清明节活动总结
2015/02/09 职场文书
远程教育学习心得体会
2016/01/23 职场文书
五年级语文教学反思
2016/03/03 职场文书
诚信高考倡议书
2019/06/24 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书