添加两倍我已有的div时遇到麻烦



好吧,我正在创建一个有趣的游戏。游戏包括一个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而不是setTimeoutsetInterval用于根据您设置的时间重复发生的事件,而setTimeout只发生一次。

jsfiddle

太棒了!如果我把双倍长度的五线谱放在一个函数中,我会递归调用它。

最新更新