html5 拖放到购物车
<!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 拖放到购物车的更多相关文章
- HTML5拖放加入购物车
H5拖放事件巩固实例: 1.简单布局一下,商品信息放入一个ul中:div为购物车,后续会创建元素 <ul> <li draggable="true"> &l ...
- HTML5拖放(drag and drop)与plupload的懒人上传
HTML5拖放能够将本地的文件拖放到页面上,plupload又是很好的文件上传插件,而今天就将两者结合,做了个文件拖拽上传的功能. 简述HTML5拖放 拖放是HTML5标准的一部分,任何元素都能够拖放 ...
- HTML5 拖放
拖放(Drag 和 drop)是 HTML5 标准的组成部分. 拖放 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放. 浏览器支持 I ...
- HTML5拖放API
拖放事件事件提供了拖放可以控制几乎所有方面的拖放操作.棘手的部分是确定每个事件触发:在拖项目火:别人火下降的目标.拖动项时,以下事件(按照这个顺序): 拖曳开始拖dragend此刻你把鼠标按钮和开始移 ...
- HTML5拖放
HTML5拖放 <!doctype html> <html> <head> <meta charset="UTF-8"> <t ...
- HTML5 拖放及排序的简单实现
HTML5 拖放及排序的简单实现 之前写过个类似的例子,看这里. 但想再深入一步,希望能通过拖放,来交换二个元素的位置.最好有应用到手机平台上. 作了个简单的例子,在手机上测试的时候不成功..查了好多 ...
- HTML5 拖放(Drag 和 Drop)功能开发——基础实战
随着HTML5的普及度越来越高,现在写代码也遇到一些了,经过同事的点播开展了一次Dojo活动用以技术交流,我也乘此机会将HTML5的拖放功能整理了一下. 简介 拖拽(Drag/Drop)是个非常普遍的 ...
- localStorage存值取值以及存取JSON,以及基于html5 localStorage的购物车
localStorage.setItem("key","value");//存储变量名为key,值为value的变量 localStorage.key = &q ...
- 【Demo】HTML5拖放--简单demo
用HTML5拖放功能编写一个简单的拖放Demo 单次拖放demo 效果: ------拖放前------- ------拖放后------- 实现代码: <!DOCTYPE html> ...
随机推荐
- 在Java中直接调用js代码
JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert ...
- sql DROP 和DELETE、TRUNCATE用法
DROP:删除数据库已存在的表DROP TABLE tbname DELETE:删除记录delete from tbname truncate:清空表,重置索引truncate table tbnam ...
- 对比C++中的指针和引用
指针和引用在形式上比较好区分,由于有很多相似的功能,因此在使用上容易混淆.因此有必要对指针和引用进行对比,以便于在使用时使程序正确高效. 1.引用不可以为空,而指针可以为空. 我们知道引用是对象的别名 ...
- Bitset位图
位图(bitmap)就是用每一位来存放某种状态,适合于大规模数据但是数据状态又不是很多的情况下,通常来判断数据是否存在.位图的常见应用有两种: 1.存放大规模数据,例如腾讯的面试题,给40亿个unsi ...
- Typed Message模式与Event Sourcing
引言 在<设计模式沉思录>(Pattern Hatching: Design Patterns Applied,[美]JohnVlissides著)一书的第4章中,围绕事件Message传 ...
- matlab中,在灰度解剖图上叠加阈值图,by by DR. Rajeev Raizada
1.参考 reference 1. tutorial主页:http://www.bcs.rochester.edu/people/raizada/fmri-matlab.htm. 2.speech_b ...
- 【英语】Bingo口语笔记(72) - play系列
- Github托管代码步骤
总结一下Github上项目托管步骤: Step 1:注册Github帐号,并创建一个repository,假如仓库名为test: Step 2:安装本地Git: sudo apt-get instal ...
- mysql添加索引
1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索 ...
- sort方法的使用、随机数的产生
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序. var arr = ['a','b','m','c','d']; arr.sort(); ...