我想在单击时将框从白色更改为红色,反之亦然。麻烦一直在实施箱子的颜色。我觉得我非常接近,但是我错过了一个函数或循环。使用点击事件处理程序更改元素的颜色
<!DOCTYPE html>
<html onmousedown='event.preventDefault();'>
<head>
<title> Boxes </title>
<meta charset='utf-8'>
<style>
table {
border-spacing: 6px;
border: 1px rgb(#CCC);
margin-top: .5in;
margin-left: 1in;
}
td {
width: 40px; height: 40px;
border: 1px solid black;
cursor: pointer;
}
</style>
在每个TD我想设置背景颜色为白色,并添加一个Click事件处理程序切换红色和白色之间的颜色。创建事件处理函数时,我想使用匿名函数,在函数内部关键字“this”指向元素本身,所以'this.style.backgroundColor'将是元素的背景颜色。在这里我想我正在格式化颜色无论错误还是不正确。我不确定如何使用“这样的:函数,该函数
<script>
function colorize(el){
var
r = (255, 0, 0),
w = (255, 255, 255);
if (event.onmousedown) {
r.style.backgroundColor = "255, 0, 0" ;
} else {
w.style.backgroundColor = "255, 255, 255";
}
}
</script>
</head>
<body onload='maketable();'>
<table>
<tbody id='tb'>
<script type="text/javascript">
var rows = 16;
var cols = 16;
var table = document.createElement("table");
table.id = "tb";
for (var r = 0; r < rows; r++) {
var row = document.createElement("tr");
table.appendChild(row);
for (var c = 0; c < cols; c++) {
var cell = document.createElement("td");
cell.addEventListener("onmousedown", colorize);
row.appendChild(cell);
}
}
document.body.appendChild(table);
</script>
</tbody>
</table>
</body>
</html>
你的'maketable'函数在哪里? –
我不确定如何使用该功能。 – HTMLnoobcs17001