




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
今天我们介绍HTML5的拖拽功能。基本目前所有的现代浏览器(Firefox,Chrome,Safari,或者Opera)都支持这个实用的功能。这意味着我们可以考虑在我们的项目和网站中使用这个功能。更重要的是代码编写非常简单。我们这里将使用拖拽API开发一个图片的分组排序功能 ,希望能够给大家比较直观的使用感受。希望大家喜欢!(注,文章转自html5中文网)HTML标签 Album 1 Album 1 Album 3 你可以看到这里我们设定了3个开放的drop对象和12个图片。我们将可drop的区域使用属性droppable来标示,并且将可drag的对象用draggable来标示。CSS代码接下来我们设置页面的样式。/* Photo Gallery styles */.gallery margin: 50px auto 0; width: 840px;.gallery a display: inline-block; height: 135px; margin: 10px; opacity: 1; position: relative; width: 180px; -khtml-user-drag: element; /* CSS3 Prevent selections */ -moz-user-select: none; -webkit-user-select: none; -khtml-user-select: none; user-select: none; /* CSS3 transition rules */ -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease;.gallery a img border: 8px solid #fff; border-bottom: 20px solid #fff; cursor: pointer; display: block; height: 100%; left: 0px; position: absolute; top: 0px; width: 100%; z-index: 1; /* CSS3 Box sizing property */ -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; /* CSS3 transition rules */ -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; /* CSS3 Box Shadow */ -moz-box-shadow: 2px 2px 4px #444; -webkit-box-shadow: 2px 2px 4px #444; -o-box-shadow: 2px 2px 4px #444; box-shadow: 2px 2px 4px #444;/* Custom CSS3 rotate transformation */.gallery a:nth-child(1) img -moz-transform: rotate(-25deg); -webkit-transform: rotate(-25deg); transform: rotate(-25deg);.gallery a:nth-child(2) img -moz-transform: rotate(-20deg); -webkit-transform: rotate(-20deg); transform: rotate(-20deg);.gallery a:nth-child(3) img -moz-transform: rotate(-15deg); -webkit-transform: rotate(-15deg); transform: rotate(-15deg);.gallery a:nth-child(4) img -moz-transform: rotate(-10deg); -webkit-transform: rotate(-10deg); transform: rotate(-10deg);.gallery a:nth-child(5) img -moz-transform: rotate(-5deg); -webkit-transform: rotate(-5deg); transform: rotate(-5deg);.gallery a:nth-child(6) img -moz-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg);.gallery a:nth-child(7) img -moz-transform: rotate(5deg); -webkit-transform: rotate(5deg); transform: rotate(5deg);.gallery a:nth-child(8) img -moz-transform: rotate(10deg); -webkit-transform: rotate(10deg); transform: rotate(10deg);.gallery a:nth-child(9) img -moz-transform: rotate(15deg); -webkit-transform: rotate(15deg); transform: rotate(15deg);.gallery a:nth-child(10) img -moz-transform: rotate(20deg); -webkit-transform: rotate(20deg); transform: rotate(20deg);.gallery a:nth-child(11) img -moz-transform: rotate(25deg); -webkit-transform: rotate(25deg); transform: rotate(25deg);.gallery a:nth-child(12) img -moz-transform: rotate(30deg); -webkit-transform: rotate(30deg); transform: rotate(30deg);.gallery a:hover img z-index: 5; /* CSS3 transition rules */ -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; /* CSS3 transform rules */ -moz-transform: rotate(0deg); -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg);.gallery a.hidden height: 0; margin: 0; opacity: 0; width: 0;.albums margin: 40px auto 0; overflow: hidden; width: 840px;.album border: 3px dashed #ccc; float: left; margin: 10px; min-height: 100px; padding: 10px; width: 220px; /* CSS3 transition rules */ -webkit-transition: all 1.0s ease; -moz-transition: all 1.0s ease; -o-transition: all 1.0s ease; transition: all 1.0s ease;.album a display: inline-block; height: 56px; margin: 15px; opacity: 1; position: relative; width: 75px; -khtml-user-drag: element; -webkit-user-drag: element; -khtml-user-select: none; -webkit-user-select: none; /* CSS3 Prevent selections */ -moz-user-select: none; -webkit-user-select: none; -khtml-user-select: none; user-select: none; /* CSS3 transition rules */ -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease;.album a img border: 4px solid #fff; border-bottom: 10px solid #fff; cursor: pointer; display: block; height: 100%; left: 0px; position: absolute; top: 0px; width: 100%; z-index: 1; /* CSS3 Box sizing property */ -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; /* CSS3 transition rules */ -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; /* CSS3 Box Shadow */ -moz-box-shadow: 2px 2px 4px #444; -webkit-box-shadow: 2px 2px 4px #444; -o-box-shadow: 2px 2px 4px #444; box-shadow: 2px 2px 4px #444;Javascript代码/ add event handlervar addEvent = (function () if (document.addEventListener) return function (el, type, fn) if (el & el.nodeName | el = window) el.addEventListener(type, fn, false); else if (el & el.length) for (var i = 0; i el.length; i+) addEvent(eli, type, fn); ; else return function (el, type, fn) if (el & el.nodeName | el = window) el.attachEvent(on + type, function () return fn.call(el, window.event); ); else if (el & el.length) for (var i = 0; i el.length; i+) addEvent(eli, type, fn); ; )();/ inner variablesvar dragItems;updateDataTransfer();var dropAreas = document.querySelectorAll(droppable=true);/ preventDefault (stops the browser from redirecting off to the text)function cancel(e) if (e.preventDefault) e.preventDefault(); return false;/ update event handlersfunction updateDataTransfer() dragItems = document.querySelectorAll(draggable=true); for (var i = 0; i dragItems.length; i+) addEvent(dragItemsi, dragstart, function (event) event.dataTransfer.setData(obj_id, this.id); return false; ); / dragover event handleraddEvent(dropAreas, dragover, function (event) if (event.preventDefault) event.preventDefault(); / little customization this.style.borderColor = #000; return false;);/ dragleave event handleraddEvent(dropAreas, dragleave, function (event) if (event.preventDefault) event.preventDefault(); / little customization this.style.borderColor = #ccc; return false;);/ dragenter event handleraddEvent(dropAreas, dragenter, cancel);/ drop event handleraddEvent(dropAreas, drop, function (event) if (event.preventDefault) event.preventDefault(); / get dropped object var iObj = event.dataTransfer.getData(obj_id); var oldObj = d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度安全防护栏杆设计与施工一体化协议
- 二零二五年度装配式建筑班组构件生产及施工合同
- 二零二五年度农家院休闲旅游租赁服务合同
- 2025版新能源设备租赁合同远期支付及退租协议
- 2025版电子产品分期购买与智能生活解决方案合同
- 2025版智慧城市道路施工合同操作指南
- 二零二五年度债权债务清收与追偿服务合同
- 2025至2030年中国角膜接触镜行业发展概况及行业投资潜力预测报告
- 2025版古董买卖双方物流运输及保险合同
- 二零二五年度照明灯具原材料供应与采购合同
- 2025年山西航空产业集团有限公司招聘考试笔试试题(含答案)
- 2025年专业技术人员继续教育公需科目培训考试试题及答案
- 2025年事业单位招聘职业能力倾向测验考试题库附参考答案满分必刷
- 2025年中考历史(河南卷)真题评析
- GB 5768.9-2025道路交通标志和标线第9部分:交通事故管理区
- 2025年环保气象安全技能考试-固体废物监测工历年参考题库含答案解析(5套共100道单选合辑)
- 高一上学期数学学法指导课件2024.9.14
- GB/T 45845.1-2025智慧城市基础设施整合运营框架第1部分:全生命周期业务协同管理指南
- 2025年 鹤壁市县区事业单位招聘考试笔试试卷附答案
- 呼吸科考试试题及答案
- 学习解读《矿产资源法》(2025)课件
评论
0/150
提交评论