好吧,我正在创建一个有趣的游戏。游戏包括一个5秒的定时器和形状像盒子的潜水器。第一轮是从1个div开始,目的是在计时器用完之前单击该div。如果你通过了,你就进入下一个级别,它添加了两个框,所以级别2你有两个框级别3 4个框,以此类推。我在创建总是将div的长度增加一倍时遇到了问题。我没有太多代码,因为我尝试过的都不起作用。这是jsfiddle:
http://jsfiddle.net/JZdkQ/
<!doctype html>
<html>
<head>
<title>jQuery Project: An exploding game</title>
<meta charset="utf-8">
<style>
body, html {
width: 960;
height: 500%;
}
div.box {
position: relative;
width: 100px;
height: 100px;
background-color: orange;
}
div.exploding {
position: absolute;
width: 100px;
height: 100px;
background-color: red;
}
</style>
</head>
<body>
</body>
</html>
您的javascript。。。
setTimeout(function(){$("body").append("<div class='box'></div>").length() *2;}, 5000);
是在说。。。
5秒后得到
<body/>
并附加<div class='box'/>
,得到我们刚刚附加的div的数量(即1),将该数字乘以2,然后丢弃结果。
使用此。。。
setInterval(function(){$(".box").clone().appendTo("body");}, 5000);
上面写着。。。
每隔5秒,获取class box的所有元素,制作它们的副本,并将副本附加到body中。
http://jsfiddle.net/JZdkQ/2/
使用setInterval
而不是setTimeout
。setInterval
用于根据您设置的时间重复发生的事件,而setTimeout
只发生一次。
jsfiddle
太棒了!如果我把双倍长度的五线谱放在一个函数中,我会递归调用它。