用html5模拟的汉诺塔
来源:互联网 发布:软件多开器电脑版 编辑:程序博客网 时间:2024/05/16 07:58
今天学习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>
0 0
- 用html5模拟的汉诺塔
- 模拟和HTML5的ploceholder的效果
- HTML5的Canvas画图模拟太阳系运转
- HTML5 placeholder JS模拟
- HTML5版模拟交通灯
- HTML5模拟齿轮动画
- HTML5模拟齿轮动画
- HTML5-模拟钟表时间
- html5 div 模拟textarea
- 基于HTML5 Canvas的工控SCADA模拟飞机飞行
- 基于HTML5 Canvas的工控SCADA模拟飞机飞行
- HTML5+JavaScript游戏:模拟水族馆
- HTML5 JavaScript模拟流体效果
- HTML5 canvas 模拟吃豆子
- Html5模拟通讯录人员排序
- html5模拟Android下拉刷新
- html5移动开发制作基于模拟现实物理效果的游戏
- HTML5 CSS3 诱人的实例 :canvas 模拟实现电子彩票刮刮乐
- ansys常见命令集合
- 指针浅谈
- Silverlight 5(C#)初探
- 设计模式六大原则(5):迪米特法则
- 收藏的博客
- 用html5模拟的汉诺塔
- 微分享从零开始
- Senium 2.0 通过webdriver提供的api完成各种验证操作
- 在这个拼爹、拼钱的时代,没有富爸爸、没有官爸爸,更没有干爹,我们拼什么?
- 选择排序与冒泡排序
- GCD
- (Servlet)常见错误及解决方式
- JavaScript灵活性
- 跨浏览器用javascript获取窗口的位置和大小