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 相关文章推荐
javascript自执行函数之伪命名空间封装法
Dec 25 Javascript
基于jquery的不规则矩形的排列实现代码
Apr 16 Javascript
js循环改变div颜色具体方法
Jun 25 Javascript
Js实现手机发送验证码时按钮延迟操作
Jun 20 Javascript
Jquery实现textarea根据文本内容自适应高度
Apr 03 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
Sep 06 Javascript
js跨域请求数据的3种常用的方法
Dec 01 Javascript
微信小程序 实例应用(记账)详解
Sep 28 Javascript
Vue2.0 http请求以及loading展示实例
Mar 06 Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
Aug 31 Javascript
原生javascript制作的拼图游戏实现方法详解
Feb 23 Javascript
vue实现lodop打印功能的示例
Nov 11 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
php Undefined index的问题
2009/06/01 PHP
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
window.ActiveXObject使用说明
2010/11/08 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
es6函数name属性功能与用法实例分析
2020/04/18 Javascript
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
python 字符串常用方法汇总详解
2019/09/16 Python
python set集合使用方法解析
2019/11/05 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
时尚圣经:The Fashion Bible
2019/03/03 全球购物
介绍一下Java中的Class类
2015/04/10 面试题
小学生自我鉴定
2013/10/12 职场文书
写给女朋友的道歉信
2014/01/08 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
mysql优化
2021/04/06 MySQL
python字符串常规操作大全
2021/05/02 Python
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL