我正在开发一款游戏,但遇到了一些麻烦。我想要做的是一旦所有 block 都变成紫色,我想创建一个新的行和列。我试图通过在所有 block 都是紫色之后删除所有 block 来实现这一点,然后使用变量 rowVal 创建比上次多的行和列。我一直在研究 JSFIddle,链接是 http://jsfiddle.net/jaredasch1/6dhc240q/ .我将代码贴在下面,以便您快速查看
HTML
<!DOCTYPE html>
<body>
<div id="button" class="on hover"></div>
<br>
<div class="block hover"></div>
<div class="block hover"></div>
<div class="block hover"></div>
<div class="block hover"></div>
<br>
<div class="block hover"></div>
<div class="block hover"></div>
<div class="block hover"></div>
<div class="block hover"></div>
<br>
<div class="block hover"></div>
<div class="block hover"></div>
<div class="block hover"></div>
<div class="block hover"></div>
<br>
<div class="block hover"></div>
<div class="block hover"></div>
<div class="block hover"></div>
<div class="block hover"></div>
</body>
CSS
.block {
height:100px;
width:100px;
border-radius:10px;
display:inline-block;
background-color:#33CCFF;
}
#button {
height:100px;
width:410px;
border-radius:10px;
display:inline-block;
background-color:#FF6666;
margin-bottom:10px;
}
.on {
background-color:#D633FF;
}
JavaScript/jQuery
var main = function () {
var rowVal = 5;
var setUp = function () {
for (var i = 0; i < rowVal; i++) {
$("#button").append("<br>");
}
for (var k = 0; k < rowVal; k++) {
$("<br>").append("<div class=\"block hover\"></div>");
}
rowVal++;
};
var checkAll = function () {
var allDivs = $("div.block");
var classedDivs = $("div.block.on");
var allDivsHaveClass = (allDivs.length === classedDivs.length);
if (allDivsHaveClass) {
allDivs.remove(".on");
setUp();
}
};
$("div").mouseenter(function () {
$(this).fadeTo("slow", 0.25);
$(this).css('cursor', 'pointer');
});
$("div").mouseleave(function () {
$(this).fadeTo("slow", 1);
$(this).css('cursor', 'default');
});
$(".block").click(function () {
$(this).toggleClass("on");
$(this).prev().toggleClass("on");
$(this).nextAll().eq(4).toggleClass("on");
$(this).next().toggleClass("on");
$(this).prevAll().eq(4).toggleClass("on");
checkAll();
});
$("#button").click(function () {
$(".block").removeClass("on");
});
$(document).keydown(function (key) {
if (event.which === 32) {
$(".block").removeClass("on");
}
});
};
$(document).ready(main);
我愿意接受建议,所以请回答!
最佳答案
在 checkAll() 中,添加以下内容:
$("body").append('<br><div class="block hover"></div>');
关于javascript - 如何添加新行/列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25940430/