在表格单元格中的值之间旋转

Rotating through Values in a Table Cell

本文关键字:之间 旋转 表格 单元格      更新时间:2023-09-26

所以我现在要做的实际上只是我正在做的一个小项目的简化版本。我首先要做的是创建一个由10行组成的表,每行中有一个值。5秒钟后,函数makeTable将运行并递增每个单元格中的值。现在,我所得到的只是一个无休止的循环,如果我在内部HTML更改后进行alert/document.write检查,它会不断增加值。

最终,我想用图像代替数字,但如果我至少能让数字发挥作用,那么我就可以在此基础上进行构建。你们能提供的任何帮助都会很棒。非常感谢。

    <html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
<script type="text/javascript">
document.write("<table>");  
    var i;
    for(i=0;i<10;i++){
        document.write('<tr><td id="Cell' + i + '">'+i+'</td></tr>'n');
    }
    document.write("</table>");

function makeTable(n){
    for(i=n;i<10+n;i++){
        var cell="Cell"+i;  
        document.getElementById(cell).InnerHTML=i+1;
    }   
setTimeout(makeTable(n+1), 5000);
}
setTimeout(makeTable(1), 5000);
</script>
</head>
<body>
</body>
</html>

1.)包装调用函数中的makeTable(...)

setTimeout(function() { makeTable(...); }, 5000);

2.)从for循环中移除n

for(i=0;i<10;i++) {

3.)InnerHTML必须是innerHTML并与n:相加

document.getElementById(cell).innerHTML=i+n;

另请参见此示例(在该示例中,setTimeout(...)将被缩放,直到n小于5)。

更新:此处更改代码:

function makeTable(n){
    for(i=0;i<10;i++){
        var cell="Cell"+i;  
        document.getElementById(cell).innerHTML=i+n;
    }   
    setTimeout(function() { makeTable(n+1); }, 5000);
}
setTimeout(function() { makeTable(1); }, 5000);

这段代码应该适用于您,edit:without邪恶:

<html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
</head>
<body>
<script type="text/javascript">
var n = 0;
document.write("<table>");
var i;
for(i=0;i<10;i++){
    document.write('<tr><td id="Cell' + i + '">'+i+'</td></tr>'n');
}
document.write("</table>");

function makeTable(){
    n++;
    for(i=0;i<10;i++){
        var cell="Cell"+i;
        document.getElementById(cell).innerHTML=n + i;
    }
    timer();
}

function timer(){
    setTimeout(makeTable,5000);
}
timer();
</script>
</body>
</html>