<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
*{
margin:0px;
padding:0px;
}
img{
width:300px;
height:200px;
margin:9px;
}
li{
border:1px solid #333;
width:320px;
margin:9px;
float:left;
list-style-type:none;
}
p{
text-align:center;
}
#div1{
margin:0 auto;
width:1200px;
border:1px dashed #666666;
height:300px;
clear:both;
}
.box1{
width:400px;
float:left;
}
.box2{
width:400px;
float:left;
}
.box3{
width:400px;
float:left;
}
#allMoney{
float:right;
}
</style>
<script>
window.onload = function ()
{
var odiv = document.getElementById('div1');
var ali = document.getElementsByTagName('li');
var obj = {};
var allMoney = null;
var inum = 0; for(var i = 0; i < ali.length; i++)
{
ali[i].ondragstart = function (ev)
{
var ap = this.getElementsByTagName('p'); ev.dataTransfer.setData('title',ap[0].innerHTML);
ev.dataTransfer.setData('money',ap[1].innerHTML); ev.dataTransfer.setDragImage(this,0,0);
}
} odiv.ondragover = function (ev)
{
ev.preventDefault();
} odiv.ondrop = function (ev)
{
ev.preventDefault();
var stitle = ev.dataTransfer.getData('title');
var smoney = ev.dataTransfer.getData('money'); if(!obj[stitle])
{
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 = stitle;
op.appendChild(ospan); var ospan = document.createElement('span');
ospan.className = 'box3';
ospan.innerHTML = smoney;
op.appendChild(ospan); odiv.appendChild(op);
obj[stitle] = 1; } else
{
var box1 = document.getElementsByClassName('box1');
var box2 = document.getElementsByClassName('box2'); for(var i = 0; i < box2.length; i++)
{
if(box2[i].innerHTML == stitle )
{
box1[i].innerHTML = parseInt(box1[i].innerHTML) + 1;
}
}
} if(!allMoney)
{
allMoney = document.createElement('div');
allMoney.id = 'allMoney';
}
inum += parseInt(smoney);
allMoney.innerHTML = inum + '$';
odiv.appendChild(allMoney); }
}
</script>
</head> <body>
<ul>
<li draggable="true">
<img src="img/5-1.jpg">
<p>美丽地方</p>
<p>1000$</p>
</li>
<li draggable="true">
<img src="img/5-2.jpg">
<p>美丽地方2</p>
<p>2000$</p>
</li>
<li draggable="true">
<img src="img/5-3.jpg">
<p>美丽地方3</p>
<p>3000$</p>
</li>
<li draggable="true">
<img src="img/5-4.jpg">
<p>美丽地方4</p>
<p>4000$</p>
</li>
</ul> <div id="div1"> </div>
</body>
</html>

html5 拖放到购物车的更多相关文章

  1. HTML5拖放加入购物车

    H5拖放事件巩固实例: 1.简单布局一下,商品信息放入一个ul中:div为购物车,后续会创建元素 <ul> <li draggable="true"> &l ...

  2. HTML5拖放(drag and drop)与plupload的懒人上传

    HTML5拖放能够将本地的文件拖放到页面上,plupload又是很好的文件上传插件,而今天就将两者结合,做了个文件拖拽上传的功能. 简述HTML5拖放 拖放是HTML5标准的一部分,任何元素都能够拖放 ...

  3. HTML5 拖放

    拖放(Drag 和 drop)是 HTML5 标准的组成部分. 拖放 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放. 浏览器支持 I ...

  4. HTML5拖放API

    拖放事件事件提供了拖放可以控制几乎所有方面的拖放操作.棘手的部分是确定每个事件触发:在拖项目火:别人火下降的目标.拖动项时,以下事件(按照这个顺序): 拖曳开始拖dragend此刻你把鼠标按钮和开始移 ...

  5. HTML5拖放

    HTML5拖放 <!doctype html> <html> <head> <meta charset="UTF-8"> <t ...

  6. HTML5 拖放及排序的简单实现

    HTML5 拖放及排序的简单实现 之前写过个类似的例子,看这里. 但想再深入一步,希望能通过拖放,来交换二个元素的位置.最好有应用到手机平台上. 作了个简单的例子,在手机上测试的时候不成功..查了好多 ...

  7. HTML5 拖放(Drag 和 Drop)功能开发——基础实战

    随着HTML5的普及度越来越高,现在写代码也遇到一些了,经过同事的点播开展了一次Dojo活动用以技术交流,我也乘此机会将HTML5的拖放功能整理了一下. 简介 拖拽(Drag/Drop)是个非常普遍的 ...

  8. localStorage存值取值以及存取JSON,以及基于html5 localStorage的购物车

    localStorage.setItem("key","value");//存储变量名为key,值为value的变量 localStorage.key = &q ...

  9. 【Demo】HTML5拖放--简单demo

    用HTML5拖放功能编写一个简单的拖放Demo 单次拖放demo 效果: ------拖放前------- ------拖放后-------  实现代码: <!DOCTYPE html> ...

随机推荐

  1. java double保留小数点的零的问题,java保留小数点问题

    1.用DecimalFormat格式化,DecimalFormat df=new DecimalFormat("0.00"); System.out.println(df.form ...

  2. website project team member 角色及开发过程概念图

    一个web项目的团队往往具有以下角色的人员组成: project stakeholder(client or business owner)产品经理 Project manager 项目经理 prod ...

  3. C语言之复杂指针详解

    在<C陷阱与缺陷>第二章第一节中有这样一个声明: (*(void(*)())0)(): 看到这样的表达式估计让不少人都“不寒而栗”了吧,其实虽然看起来复杂,但是构造这类表达式其实只有一条简 ...

  4. hdu 1429 胜利大逃亡(续) (bfs+状态压缩)

    又开始刷题了 题意:略过. 分析:主要是确定状态量,除了坐标(x,y)之外,还有一个key状态,就好比手上拿着一串钥匙.状态可以用位运算来表示:key&(x,y)表示判断有没有这扇门的钥匙,k ...

  5. BZOJ 3295 动态逆序对

    调了好久.... 转化成三维偏序,cdq处理. 好像比较快? #include<iostream> #include<cstdio> #include<cstring&g ...

  6. 用canvas实现图片滤镜效果

    1.灰度效果 图片过滤效果之灰度效果 算法及原理: .299 * r + .587 * g + .114 * b; 2.油画效果 算法及原理: 用当前点四周一定范围内任意一点的颜色来替代当前点颜色,最 ...

  7. 记录一次Spring boot 搭建框架连接Mysql数据库注解事务不回滚的故障

    搭建了一个新框架,使用了spring boot 替换以简化原来繁杂的spring配置,使用Spring注解管理事务,持久层使用mybatis. 连接mysql数据库完成项目的过程中发现不支持事务,因为 ...

  8. Myeclipse提示失效?

  9. Spark RDD操作(1)

    https://www.zybuluo.com/jewes/note/35032 RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD.从编程的角度来看,RD ...

  10. (六)6.11 Neurons Networks implements of self-taught learning

    在machine learning领域,更多的数据往往强于更优秀的算法,然而现实中的情况是一般人无法获取大量的已标注数据,这时候可以通过无监督方法获取大量的未标注数据,自学习( self-taught ...