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 相关文章推荐
js 小贴士一星期合集
Apr 07 Javascript
Jquery 最近浏览过的商品的功能实现代码
May 14 Javascript
使用ExtJS技术实现的拖动树结点
Aug 05 Javascript
动态加载js、css等文件跨iframe实现
Feb 24 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
Apr 22 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
Jul 20 Javascript
jQuery改变form表单的action,并进行提交的实现代码
May 25 Javascript
在一个页面重复使用一个js函数的方法详解
Dec 26 Javascript
jQuery给表格添加分页效果
Mar 02 Javascript
vue2导航根据路由传值,而改变导航内容的实例
Nov 10 Javascript
jQuery实现checkbox全选功能完整实例
Jul 12 jQuery
Vue如何获取数据列表展示
Dec 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
PHP中对数据库操作的封装
2006/10/09 PHP
使用PHP遍历文件夹与子目录的函数代码
2011/09/26 PHP
php使用google地图应用实例
2014/12/31 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
JS+CSS实现经典的左侧竖向滑动菜单效果
2015/09/23 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
JavaScript中文件上传API详解
2016/04/01 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
深入理解js promise chain
2016/05/05 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
vue+axios全局添加请求头和参数操作
2020/07/24 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
Python操作MySQL数据库的三种方法总结
2018/01/30 Python
python中图像通道分离与合并实例
2020/01/17 Python
Python程序慢的重要原因
2020/09/04 Python
python用Configobj模块读取配置文件
2020/09/26 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
应聘医学检验人员自荐信
2013/09/27 职场文书
房地产销售计划书
2014/01/10 职场文书
中专自我鉴定
2014/02/05 职场文书
聚美优品励志广告词
2014/03/14 职场文书
项目合作协议书范本
2014/04/16 职场文书
小学评语大全
2014/04/22 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
2015小学音乐教师个人工作总结
2015/07/21 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书