<!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. Linux Kernel CMPXCHG函数分析

    原文地址:http://blog.csdn.net/penngrove/article/details/44175387 最近看到Linux Kernel cmpxchg的代码,对实现很不理解.上网查 ...

  2. android利用数字证书对程序签名

     签名的必要性 1.  防止你已安装的应用被恶意的第三方覆盖或替换掉. 2.  开发者的身份标识,签名可以防止抵赖等事件的发生. 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同 ...

  3. 转:ORACLE的JDBC连接方式:OCI和THIN

    oracle的jdbc连接方式:oci和thin oci和thin是Oracle提供的两套Java访问Oracle数据库方式. thin是一种瘦客户端的连接方式,即采用这种连接方式不需要安装oracl ...

  4. openfire源码分析

    启动流程 Socket接口 Socket通信使用Mina框架实现,是XMPP协议的处理入口,具体为: 消息接收后由不同的节处理器处理: StanzaHandler基础消息类型,之后进行消息路由: 最后 ...

  5. python练习程序(c100经典例2)

    题目: 企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%:20万到40 ...

  6. openssl rsa 加解密

    <h4>1.openssl进行rsa加密解密</h4>首先介绍下命令台下openssl工具的简单使用:生成一个密钥:<pre lang="c" esc ...

  7. pg 匹配中文字符

    用到了正则表达式: 字段 ~'[\u4E00-\u9FA5]+$'; 注意:此表达式可能还不能取到最全的值.

  8. exp/imp使用

    [sql]view plaincopy 1.EXP: 1.完全: EXP  SYSTEM/MANAGER   BUFFER=64000  FILE=C:\FULL.DMP  FULL=Y 如果要执行完 ...

  9. 剑指offer—第三章高质量代码(o(1)时间删除链表节点)

    题目:给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点,链表节点与函数的定义如下:struct ListNode{int m_nValue;ListNode* m_pValue ...

  10. NoSQL架构实践(一)——以NoSQL为辅

    前面<为什么要使用NoSQL>和<关系数据库还是NoSQL数据库>两篇从大体上介绍了为什么要用NoSQL,何时该用NoSQL.经常有朋友遇到困惑,看到NoSQL的介绍,觉得很好 ...