JS实现的简单拖拽购物车功能示例【附源码下载】


Posted in Javascript onJanuary 03, 2018

本文实例讲述了JS实现的简单拖拽购物车功能。分享给大家供大家参考,具体如下:

<html>
<head>
<meta charset="utf-8" />
<title>使用拖放API将商品拖入购物车</title>
<style>
body {
  font-size:12px
}
.liT{
  border-bottom:solid 1px #ccc;
  background-color:#eee;
  font-weight:bold
}
  .liF{
  float:left;
  margin-right:5px;
}
ul{
  list-style-type:none;
  padding:0px;
  height:106px;
  width:330px
}
ul li{
  height:23px
}
ul li img{
  width:68px;
  height:96px;
  border:solid 1px #ccc;
  padding:3px
}
ul li span{
  float:left;
  width:70px;
  padding:5px;
}
</style>
<script type="text/javascript">
function $$(id) {
  return document.getElementById(id);
}
//自定义页面加载时调用的函数
function pageload() {
  //获取全部的图书商品
  var Drag = document.getElementsByTagName("img");
  //遍历每一个图书商品
  for (var intI = 0; intI < Drag.length; intI++) {
    //为每一个商品添加被拖放元素的dragstart事件
    Drag[intI].addEventListener("dragstart",
    function(e) {
      var objDtf = e.dataTransfer;
      objDtf.setData("text/html", addCart(this.title, this.alt, 1));
    },
    true);
  }
  var Cart = $$("ulCart");
  //添加目标元素的drop事件
  Cart.addEventListener("drop",
  function(e) {
    var objDtf = e.dataTransfer;
    var strHTML = objDtf.getData("text/html");
    var num=top_();
    Cart.innerHTML += strHTML;
    document.getElementById("num").innerHTML=num;
    var price =document.getElementById("price").innerHTML;
    document.getElementById("sum").innerHTML=num*price;
    e.preventDefault();
    e.stopPropagation();
  },
  false);
}
//添加页面的dragover事件
document.ondragover = function(e) {
  //阻止默认方法,取消拒绝被拖放
  e.preventDefault();
}
//添加页面drop事件
document.ondrop = function(e) {
  //阻止默认方法,取消拒绝被拖放
  e.preventDefault();
}
//自定义向购物车中添加记录的函数
function addCart(a, b, c) {
  var strHTML = "<li class='liC'>";
  strHTML += "<span>" + a + "</span>";
  strHTML += "<span id=\"price\">" + b + "</span>";
  strHTML += "<span id=\"num\">" + c + "</span>";
  strHTML += "<span id=\"sum\">" + b * c + "</span>";
  strHTML += "</li>";
  return strHTML;
}
//提示输入框
function top_(){
   var str=prompt("请输入要购买的数量",1);
    return str;
}
</script>
</head>
<body onLoad="pageload();">
 <ul>
  <li class="liF">
    <img src="images/img02.jpg" id="img02"
       alt="42" title="2006作品" draggable="true">
  </li>
  <li class="liF">
    <img src="images/img03.jpg" id="img03"
       alt="56" title="2008作品" draggable="true">
  </li>
  <li class="liF">
    <img src="images/2.jpg" id="img04"
       alt="52" title="2010作品" draggable="true">
  </li>
  <li class="liF">
    <img src="images/1.jpg" id="img05"
       alt="59" title="2011作品" draggable="true">
  </li>
 </ul>
 <ul id="ulCart">
  <li class="liT">
    <span>书名</span>
    <span>定价</span>
    <span>数量</span>
    <span>总价</span>
  </li>
 </ul>
</body>
</html>

运行效果:

JS实现的简单拖拽购物车功能示例【附源码下载】

JS实现的简单拖拽购物车功能示例【附源码下载】

附:完整实例代码点击此处本站下载

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
juqery 学习之五 文档处理 插入
Feb 11 Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
Jan 04 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
Jan 26 Javascript
全面理解闭包机制
Jul 11 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
Aug 01 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
Nov 28 Javascript
webpack vue项目开发环境局域网访问方法
Mar 20 Javascript
微信小程序canvas拖拽、截图组件功能
Sep 04 Javascript
JavaScript创建防篡改对象的方法分析
Dec 30 Javascript
详解jQuery设置内容和属性
Apr 11 jQuery
小程序点餐界面添加购物车左右摆动动画
Sep 23 Javascript
基于js 各种排序方法和sort方法的区别(详解)
Jan 03 #Javascript
vue项目中用cdn优化的方法
Jan 03 #Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
Jan 03 #Javascript
利用原生js实现html5小游戏之打砖块(附源码)
Jan 03 #Javascript
js判断文件类型大小并给出提示的实现方法
Jan 03 #Javascript
js登录滑动验证的实现(不滑动无法登陆)
Jan 03 #Javascript
Angular实现下拉框模糊查询功能示例
Jan 03 #Javascript
You might like
利用js调用后台php进行数据处理原码
2006/10/09 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
使用命令对象代替switch语句的写法示例
2015/02/28 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
微信小程序云开发 生成带参小程序码流程
2019/05/18 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
简述Python中的进程、线程、协程
2016/03/18 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
Django视图、传参和forms验证操作
2020/07/15 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
大学生四个方面的自我评价
2013/09/19 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
初一军训感言
2015/08/01 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
SpringBoot Http远程调用的方法
2022/08/14 Java/Android