用html5模拟的汉诺塔
2015-07-06 11:16
537 查看
今天学习html5拖动的时候突然想到可以用html5来模拟个汉诺塔,说做就做。以下是我的实现,比较简单勿喷,不过欢迎指正和探讨
总结:html5还是很强大的,几个方法就能搞定拖动效果!!
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8" /> <style type="text/css"> .container{border:solid 1px black;width:200px; height:200px; padding:10px;} .hanoi{border:solid 1px black; padding:5px;} #hanoi3{width:150px; height:150px;} #hanoi2{width:100px; height:100px;} #hanoi1{width:60px; height:60px;} </style> <script type="text/javascript"> function allowDrop(ev) { ev.preventDefault(); } function drag(ev) { ev.dataTransfer.setData("Text", ev.target.id); } function drop(ev) { ev.preventDefault(); var data = ev.dataTransfer.getData("Text"); var droper = document.getElementById(data); if (droper.childElementCount == 0) { //判断是否是多个一起拖动,不是才可以进行拖动 if (droper.clientHeight < ev.target.clientHeight && droper.clientWidth < ev.target.clientWidth) { ev.target.appendChild(document.getElementById(data)); } } else {alert("一次只能拖动一个汉诺塔");} } </script> </head> <body> <div id="container1" class="container" ondrop="drop(event)" ondragover="allowDrop(event)"><div id="hanoi3" class="hanoi" ondrop="drop(event)" ondragover="allowDrop(event)"draggable="true" ondragstart="drag(event)"><div id="hanoi2" class="hanoi"draggable="true" ondrop="drop(event)" ondragover="allowDrop(event)" ondragstart="drag(event)"><div id="hanoi1" class="hanoi"draggable="true" ondragstart="drag(event)"></div></div></div></div> <div id="container2" class="container" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <div id="container3" class="container" ondrop="drop(event)" ondragover="allowDrop(event)"></div> </body> </html>
总结:html5还是很强大的,几个方法就能搞定拖动效果!!
相关文章推荐
- H5大会之后,未来指向何方?
- HTML5实现IP Camera网页输出 分类: HTML5 2015-07-06 10:56 262人阅读 评论(0) 收藏
- html5游戏开发实战-----大家来找茬
- 分享3一个博客HTML5模板
- html5 java多图片上传
- HTML5新增的8类INPUT输入类型介绍
- 10款优秀的 HTML5 动画工具
- html5 canvas 实现一个简单的叮当猫头部
- HTML5本地存储之Web Storage篇
- html5 canvas 实现一个简单的叮当猫头部
- H5版俄罗斯方块(3)---游戏的AI算法
- 基于HTML5气3D仿真培训系统
- HTML5开发之获取设备的地理坐标
- HTML5 history
- HTML5 Canvas 获取网页的像素值。
- HTML5 Canvas 获取网页的像素值。
- 提高HTML5 canvas性能的几种方法(转)
- H5大会之后,未来指向何方?
- HTML5 Canvas简简单单实现手机九宫格手势密码解锁
- 10个最常见的 HTML5 面试题及答案