到目前为止,我已经编写了一个代码(从其他站点提取的一些函数),它生成了一个包含15个数字和一个空位的表。
我想知道如何编写一个函数,当我单击任何单元格,并且该单元格与带有"空"的单元格相邻时,它会交换两个单元格的值
<script type="text/javascript">
var test = 0;
var startNumber = 0;
var arrayNumbers = new Array()
for (i = 0; i < 16; ++i) {
if (i == 15) { arrayNumbers[i] = "empty"; }
else {
++startNumber;
arrayNumbers[i] = startNumber
}
}
shuffle(arrayNumbers);
document.write("<table id = "table1" border = "1">")
for (k = 0; k < 4; ++k) {
document.write("<tr>")
for (i = 0; i < 4; ++i) {
document.write("<td>" + arrayNumbers[test] + "</td>");
++test
}
document.write("</tr>")
}
document.write("</table>")
// Table Made
document.write("askjd")
document.write(document.getElementById("table1").getElementsByTagName("tr")[2])
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
var table = document.getElementById('table1'),
cells = table.getElementsByTagName('td');
for (var i = 0, len = cells.length; i < len; i++) {
cells[i].onclick = function () {
window.alert(this.innerHTML);
}
}
</script>
如果有人能帮忙,那就太好了!
我只需要从i = 1
循环到i < len - 1
,然后在cells[i]
、cells[i-1]
和cells[i+1]
上施展魔法。
也许您只想使用innerText来避免引用<>&'"
等问题。