SKY外语计算机学习
标题:
听了小耳朵的课,写了个汉诺塔的网页版
[打印本页]
作者:
rogan
时间:
2012-5-25 21:50
标题:
听了小耳朵的课,写了个汉诺塔的网页版
本帖最后由 rogan 于 2012-5-25 22:20 编辑
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>Untitled Document</title>
<script src="lib/jquery/jquery-1.4.2.js">
</script>
<script language="JavaScript">
$(document).ready(function(){
n = 5;
for (i = 0; i < n; i++) {
$("th:eq(0)").append("<div class='wh" + (n-i) + "'>"+(n-i)+"</div>")
}
for (i = 0; i < n; i++) {
$(".wh" + i).css({"width": 30 * (i + 1) + "px","margin": "0 auto"});
}
hannuota(n, 'A', 'B', 'C');
function hannuota(n, A, B, C){
if (1 == n) {
alert("将编号为" + n + "的盘子直接从" + A + "柱子移到" + C + "柱子\n");
$tmp = $("div.wh"+(n));
$tmp.remove();
$("th."+C).append($tmp)
}
else {
hannuota(n - 1, A, C, B);
alert("将编号为" + n + "的盘子直接从" + A + "柱子移到" + C + "柱子\n");
$tmp1 = $("div.wh"+(n));
$tmp1.remove();
$("th."+C).append($tmp1)
hannuota(n - 1, B, A, C);
}
}
// alert(str);
})
</script>
<style>
tr {
border: 1px solid #00ff00;
}
th {
width: 200px;
height: 300px;
vertical-align: top;
border: 1px solid #000;
text-align: center
}
div {
height: 20px;
background: red;
margin: 3px;
}
</style>
</head>
<body>
<table>
<tr class="one">
<th class="A">
A
</th>
<th class="B">
B
</th>
<th class="C">
C
</th>
</tr>
</table>
</body>
</html>
复制代码
作者:
rogan
时间:
2012-5-25 21:52
这个本来是便于自己理解汉诺塔的,发出来供大家讨论下,也是自己练习jquery
作者:
rogan
时间:
2012-5-25 21:57
我的火狐浏览器能够运行
作者:
流氓
时间:
2012-5-26 01:20
本帖最后由 sky_yx 于 2015-12-30 14:15 编辑
你比我快,我java还没有写出来
作者:
rogan
时间:
2012-5-26 17:33
我以前就看了汉诺塔的,加上jquery本来就简单,你的代码写好了也让我学习下
作者:
SKY定格
时间:
2012-6-2 09:22
本帖最后由 sky_yx 于 2015-12-30 14:15 编辑
为什么我打开就三个框框没有盘子呢
作者:
rogan
时间:
2012-6-2 17:48
可以到演示地址查看效果,看那个帖子
欢迎光临 SKY外语计算机学习 (http://join.skywj.com/)
Powered by Discuz! X2.5