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 相关文章推荐
flexigrid 参数说明
Nov 23 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
Aug 06 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
Nov 03 Javascript
jquery下div 的resize事件示例代码
Mar 09 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
Sep 04 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
Oct 02 Javascript
Webpack 实现 Node.js 代码热替换
Oct 22 Javascript
php利用curl获取远程图片实现方法
Oct 26 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
Sep 05 Javascript
jQuery dateRangePicker插件使用方法详解
Jul 28 jQuery
vue百度地图 + 定位的详解
May 13 Javascript
JavaScript中的各种宽高属性的实现
May 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
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
基于Snoopy的PHP近似完美获取网站编码的代码
2011/10/23 PHP
php中的strpos使用示例
2014/02/27 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
2017/08/11 PHP
对联广告js flash激活
2006/10/19 Javascript
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
基于jquery的拖动布局插件
2011/11/25 Javascript
js字母大小写转换实现方法总结
2013/11/13 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
javascript中layim之查找好友查找群组
2021/02/06 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
最基础的Python的socket编程入门教程
2015/04/23 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
pycharm运行程序时看不到任何结果显示的解决
2020/02/21 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
竞选部门副经理的自荐书范文
2014/02/11 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
2014离婚协议书范文
2014/09/10 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python