gpt4 book ai didi

javascript - 使用 Javascript 创建表

转载 作者:行者123 更新时间:2023-11-30 14:16:01 24 4
gpt4 key购买 nike

我现在正在一个文件中创建某种“马里奥拼图”。我设法使用窗口提示符 创建了一个表。我不知道如何固定高度和宽度,所以它会和上面的图片一样大。稍后,我会做一个选择图片并将其插入空白方 block 的选项。有什么建议吗?

用户输入行和列后: enter image description here

四处玩耍并制作一些东西,你明白了 enter image description here

代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Mario</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

table,td {
border: 1px solid grey;
border-collapse: collapse;
margin: 10px;
background-color: silver;
}

img {
display: block;
}
</style>
</head>
<body>
<table>
<tr>
<td><img src="images/sprite1.gif" alt="sprite1.gif"></td>
<td><img src="images/sprite2.gif" alt="sprite2.gif"></td>
<td><img src="images/sprite3.gif" alt="sprite3.gif"></td>
<td><img src="images/sprite4.gif" alt="sprite4.gif"></td>
<td><img src="images/sprite5.gif" alt="sprite5.gif"></td>
<td><img src="images/sprite6.gif" alt="sprite6.gif"></td>
<td><img src="images/sprite7.gif" alt="sprite7.gif"></td>
<td><img src="images/sprite8.gif" alt="sprite8.gif"></td>
<td><img src="images/sprite9.gif" alt="sprite9.gif"></td>
<td><img src="images/sprite10.gif" alt="sprite10.gif"></td>
<td><img src="images/sprite11.gif" alt="sprite11.gif"></td>
<td><img src="images/sprite12.gif" alt="sprite12.gif"></td>
<td><img src="images/sprite13.gif" alt="sprite13.gif"></td>
<td><img src="images/sprite14.gif" alt="sprite14.gif"></td>
<td><img src="images/sprite15.gif" alt="sprite15.gif"></td>
<td><img src="images/sprite16.gif" alt="sprite16.gif"></td>
</tr>
</table>

<script type="text/javascript">

var r = window.prompt("Please enter rows:"); //vrstica tr
while(r<5 || r>20){
r = window.prompt("Wrong, enter a number between 5 and 20:");
}

var c = window.prompt("Please enter columns:"); //stoplec td
while(c<10 || c>40){
c = window.prompt("Wrong, enter a number between 10 and 40:");
}

document.write('<table>');
for(i=1;i<=r;i++) {
document.write("<tr>");
for(j=1;j<=c;j++) {
document.write("<td>"+" "+"</td>");
}
document.write("</tr>");
}
document.write('</table>');

</script>

</body>
</html>

最佳答案

如前所述,不要使用 document.write。在内存中创建元素,然后在准备就绪时附加到 DOM。

至于高度宽度; 1) 设置 td 的内联样式或 2) 应用高度和宽度 CSS。

请确保在任何地方设置尺寸,使其与上图相同。 选项 #2 是首选方法。

选项#1

function el( tagName ) {
return document.createElement( tagName );
}

var rows = 5;
var cols = 10;
var table = el( 'table' );

for ( var i = 0; i < rows; i++ ) {

var tr = el( 'tr' );

for ( var j = 0; j < cols; j++ ) {

var td = el( 'td' );

td.style.width = '20px';
td.style.height = '20px';

tr.appendChild( td );

}

table.appendChild( tr );

}

document.body.appendChild( table );
td {
border: 1px solid #ccc;
}

选项#2

function el( tagName ) {
return document.createElement( tagName );
}

var rows = 5;
var cols = 10;
var table = el( 'table' );

for ( var i = 0; i < rows; i++ ) {

var tr = el( 'tr' );

for ( var j = 0; j < cols; j++ ) {
tr.appendChild( el( 'td' ) );
}

table.appendChild( tr );

}

document.body.appendChild( table );
td {
border: 1px solid #ccc;
width: 20px;
height: 20px;
}

关于javascript - 使用 Javascript 创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53565101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com