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 相关文章推荐
用Javascript同时提交多个Web表单的方法
Dec 26 Javascript
html a标签-超链接中confirm方法使用介绍
Jan 04 Javascript
jquery得到font-size属性值实现代码
Sep 30 Javascript
微信小程序 教程之wxapp视图容器 swiper
Oct 19 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
Jan 14 Javascript
easyUI combobox实现联动效果
Jan 17 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
May 25 Javascript
Vue实现搜索 和新闻列表功能简单范例
Mar 16 Javascript
JS实现可针对算术表达式求值的计算器功能示例
Sep 04 Javascript
JavaScript原型式继承实现方法
Nov 06 Javascript
解决Vue打包上线之后部分CSS不生效的问题
Nov 12 Javascript
javascript实现留言板功能
Feb 08 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
QueryPath PHP 中的jQuery
2010/04/11 PHP
PHP框架性能测试报告
2016/05/08 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
2010/12/08 Javascript
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
jQuery Mobile 和 Kendo UI 的比较
2016/05/05 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
javascript 秒表计时器实现代码
2017/03/09 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
JavaScript实现旋转轮播图
2020/08/18 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
js截取字符串功能的实现方法
2017/09/27 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
sqlalchemy对象转dict的示例
2014/04/22 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
python计算方程式根的方法
2015/05/07 Python
python逐行读写txt文件的实例讲解
2018/04/03 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
Python:slice与indices的用法
2019/11/25 Python
Python使用re模块验证危险字符
2020/05/21 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
大学生职业生涯规划书模板
2014/01/03 职场文书
看雷锋电影观后感
2015/06/10 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers
电脑开机弹出documents文件夹怎么回事?弹出documents文件夹解决方法
2022/04/08 数码科技