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函数
Apr 09 Javascript
JavaScript 小型打飞机游戏实现原理说明
Oct 28 Javascript
利用js读取动态网站从服务器端返回的数据
Feb 10 Javascript
js获取会话框prompt的返回值的方法
Jan 10 Javascript
基于jQuery实现仿微博发布框字数提示
Jul 27 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
Aug 01 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
Mar 09 Javascript
JS判断一个数是否是水仙花数
Jun 11 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
Jul 30 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
May 16 Javascript
Vue SPA 初次进入加载动画实现代码
Nov 14 Javascript
Webpack设置环境变量的一些误区详解
Dec 19 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
一个php作的文本留言本的例子(五)
2006/10/09 PHP
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
angularJS 入门基础
2015/02/09 Javascript
javascript实现随时变化着的背景颜色
2015/04/02 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
简单快速的实现js计算器功能
2017/08/17 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
基于滚动条位置判断的简单实例
2017/12/14 Javascript
vue计算属性及使用详解
2018/04/02 Javascript
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
Python随机数用法实例详解【基于random模块】
2017/04/18 Python
python+influxdb+shell编写区域网络状况表
2018/07/27 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
PHP如何设置和取得Cookie值
2015/06/30 面试题
Linux常见面试题
2016/10/04 面试题
物流业务员岗位职责
2014/02/08 职场文书
个人整改方案范文
2014/10/25 职场文书
关于群众路线的心得体会
2014/11/05 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
2014小学语文教师个人工作总结
2014/12/03 职场文书
2016年公司“3.12”植树节活动总结
2016/03/16 职场文书