js简易版购物车功能


Posted in Javascript onJune 17, 2017

本文实例为大家分享了js购物车功能的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>

  <head>
    <meta charset="UTF-8">
    <title></title>
    <style>
      * {
        margin: 0;
        padding: 0;
      }

      li {
        list-style: none;
      }

      li {
        float: left;
        width: 200px;
        border: 1px #000 solid;
        margin: 10px;
      }

      li img {
        width: 200px;
      }

      p {
        height: 20px;
        border-bottom: 1px #333 dashed;
      }

      #bus {
        width: 600px;
        border: 1px #000 solid;
        height: 300px;
        clear: both;
      }

      .box1 {
        float: left;
        width: 200px;
      }

      .box2 {
        float: left;
        width: 200px;
      }

      .box3 {
        float: left;
        width: 200px;
      }

      #allMoney {
        float: right;
      }
    </style>
    <script>
      window.onload = function() {
        var oList = document.getElementById('list');
        var aLi = oList.getElementsByTagName('li');
        var oBus = document.getElementById('bus');

        var obj = {};
        var iNum = 0;
        var allMoney = 0;

        for (var i = 0; i < aLi.length; i++) {
          aLi[i].ondragstart = function(ev) {
            //点击拖拽元素的时候,就设置数据,以后放到购物车的时候数据就可以传过去了
            var ev = ev || window.event;
            var aP = this.getElementsByTagName('p');
            ev.dataTransfer.setData('title', aP[0].innerHTML);
            ev.dataTransfer.setData('price', aP[1].innerHTML);
            ev.dataTransfer.setDragImage(this, 0, 0);
          }
        }

        oBus.ondragover = function(ev) {
          //阻止鼠标默认事件
          var ev = ev || event;
          ev.preventDefault();
        };
        oBus.ondrop = function(ev) {
          var ev = ev || event;
          var title = ev.dataTransfer.getData('title');
          var price = ev.dataTransfer.getData('price');  

          if(!obj[title]){

            var oP = document.createElement('p');
            var oSpan = document.createElement('span');
            oSpan.className = 'box1';
            oSpan.innerHTML = 1;
            oP.appendChild(oSpan);

            var oSpan = document.createElement('span');
            oSpan.className = 'box2';
            oSpan.innerHTML = title;
            oP.appendChild(oSpan);

            var oSpan = document.createElement('span');
            oSpan.className = 'box3';
            oSpan.innerHTML = price;
            oP.appendChild(oSpan);

            oBus.appendChild(oP);

            obj[title] = 1;
          }else{
            var box1 = document.getElementsByClassName('box1');
            var box2 = document.getElementsByClassName('box2');
            for(var i=0;i<box2.length;i++){
              if(box2[i].innerHTML == title){
                box1[i].innerHTML = parseInt(box1[i].innerHTML) + 1;
              };
            };

          };
          //总价
          if(!allMoney){
            allMoney = document.createElement('div');
            allMoney.id = 'allMoney';
          }
          iNum += parseInt(price);
          allMoney.innerHTML = '¥'+iNum;
          oBus.appendChild(allMoney);
        };
      };
    </script>
  </head>

  <body>
    <ul id="list">
      <li draggable="true">
        <img src="img/img1.jpg" />
        <p>javascript语言精粹</p>
        <p>40¥</p>
      </li>
      <li draggable="true">
        <img src="img/img2.jpg" />
        <p>javascript权威指南</p>
        <p>120¥</p>
      </li>
      <li draggable="true">
        <img src="img/img3.jpg" />
        <p>精通javascript</p>
        <p>35¥</p>
      </li>
      <li draggable="true">
        <img src="img/img4.jpg" />
        <p>DOM编程艺术</p>
        <p>45¥</p>
    </ul>
    <div id="bus"></div>
  </body>

</html>

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

Javascript 相关文章推荐
使用JQ来编写最基本的淡入淡出效果附演示动画
Oct 31 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
Nov 05 Javascript
全面理解JavaScript中的闭包
May 12 Javascript
微信小程序之ES6与事项助手的功能实现
Nov 30 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
JavaScript模板引擎应用场景及实现原理详解
Dec 14 Javascript
ES6入门教程之Array.from()方法
Mar 23 Javascript
JavaScript闭包相关知识解析
Oct 19 Javascript
webpack打包html里面img后src为“[object Module]”问题
Dec 22 Javascript
js实现盒子拖拽动画效果
Aug 09 Javascript
jquery实现简单每周轮换的日历
Sep 10 jQuery
Vue 3.0中jsx语法的使用
Nov 13 Javascript
Webpack如何引入bootstrap的方法
Jun 17 #Javascript
Webpack执行命令参数详解
Jun 17 #Javascript
JS实现留言板功能
Jun 17 #Javascript
利用vscode编写vue的简单配置详解
Jun 17 #Javascript
JavaScript用二分法查找数据的实例代码
Jun 17 #Javascript
JS实现新建文件夹功能
Jun 17 #Javascript
vue-router路由参数刷新消失的问题解决方法
Jun 17 #Javascript
You might like
一棵php的类树(支持无限分类)
2006/10/09 PHP
PHP中数组定义的几种方法
2013/09/01 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
javascript 对象的定义方法
2007/01/10 Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
关于query Javascript CSS Selector engine
2013/04/12 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
angularjs封装bootstrap时间插件datetimepicker
2016/06/20 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
解决vue打包项目后刷新404的问题
2018/03/06 Javascript
python搭建简易服务器分析与实现
2012/12/15 Python
python 多进程通信模块的简单实现
2014/02/20 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
电厂厂长岗位职责
2014/01/02 职场文书
编辑找工作求职信分享
2014/01/03 职场文书
宠物店的创业计划书范文
2014/01/11 职场文书
财务总监岗位职责
2014/03/07 职场文书
读书之星事迹材料
2014/05/12 职场文书
开工典礼策划方案
2014/05/23 职场文书
团队口号大全
2014/06/06 职场文书
老公保证书
2015/01/17 职场文书
第二次离婚起诉书
2015/05/18 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书