js简易版购物车功能

发布时间 - 2026-01-11 01:55:28    点击率:

本文实例为大家分享了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>

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


# js  # 购物车  # js购物车实现思路及代码(个人感觉不错)  # Javascript操纵Cookie实现购物车程序  # 简单的前端js+ajax 购物车框架(入门篇)  # js实现简单的购物车有图有代码  # 原生js模拟淘宝购物车项目实战  # JavaScript编写一个简易购物车功能  # 基于Vuejs实现购物车功能  # 利用Angularjs和bootstrap实现购物车功能  # js+cookies实现悬浮购物车的方法  # 鼠标  # 大家分享  # 具体内容  # 大家多多  # 就可以  # 拖拽  # height  # img  # bottom  # border  # px  # solid  # window  # script  # allMoney  # bus  # dashed  # clear  # width 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  英语简历制作免费网站推荐,如何将简历翻译成英文?  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  如何续费美橙建站之星域名及服务?  网站制作报价单模板图片,小松挖机官方网站报价?  Laravel怎么使用Intervention Image库处理图片上传和缩放  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  Laravel集合Collection怎么用_Laravel集合常用函数详解  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  Python制作简易注册登录系统  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  高端网站建设与定制开发一站式解决方案 中企动力  如何在万网自助建站中设置域名及备案?  jQuery 常见小例汇总  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  Laravel如何实现用户密码重置功能?(完整流程代码)  JS实现鼠标移上去显示图片或微信二维码  JavaScript如何实现路由_前端路由原理是什么  如何快速登录WAP自助建站平台?  Laravel如何自定义分页视图?(Pagination示例)  如何在IIS中新建站点并配置端口与物理路径?  潮流网站制作头像软件下载,适合母子的网名有哪些?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  香港服务器网站卡顿?如何解决网络延迟与负载问题?  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  JavaScript常见的五种数组去重的方式  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  phpredis提高消息队列的实时性方法(推荐)  如何在阿里云部署织梦网站?  如何快速建站并高效导出源代码?  如何快速搭建高效WAP手机网站吸引移动用户?  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  Python3.6正式版新特性预览  HTML 中动态设置元素 name 属性的正确语法详解  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Laravel如何处理和验证JSON类型的数据库字段  Android中AutoCompleteTextView自动提示  如何在云服务器上快速搭建个人网站?