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 相关文章推荐
CSS+Jquery实现页面圆角框方法大全
Dec 24 Javascript
js实现遮罩层划出效果是生成div而不是显示
Jul 29 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
Sep 15 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
Feb 25 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
Jun 08 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
Nov 21 Javascript
jQuery获取选中单选按钮radio的值
Dec 27 Javascript
JS实现微信里判断页面是否被分享成功的方法
Jun 06 Javascript
JavaScript常见JSON操作实例分析
Aug 08 Javascript
微信小程序支付PHP代码
Aug 23 Javascript
vue的webcamjs集成方式
Nov 16 Javascript
JavaScript中arguments的使用方法详解
Dec 20 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
JavaScript NaN和Infinity特殊值 [译]
2012/09/20 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
jquery.tableSort.js表格排序插件使用方法详解
2020/08/12 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
vue如何解决循环引用组件报错的问题
2018/09/22 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
TensorFlow模型保存和提取的方法
2018/03/08 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
几个人围成一圈的问题
2013/09/26 面试题
本科生详细的自我评价
2013/09/19 职场文书
三年级音乐教学反思
2014/01/28 职场文书
高中军训第一天感言
2014/03/06 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
现役军人家属慰问信
2015/03/24 职场文书
基于Python实现的购物商城管理系统
2021/04/27 Python