首页 > 解决方案 > javascript中的计时器以及document.getElementById出现问题

问题描述

不要担心我打印到 innerHTML 的内容,但有人告诉我可以在“GetElementById”部分使用变量作为 id 标签。我的 html 中有标签“1”、“2”等...最多 12 个,但我不断收到错误“diceRoller.js:165 Uncaught TypeError: Cannot read property 'innerHTML' of null”。我做错了什么还是需要手动打印?


    for (let i=2, j=0; i<14; i++, j++){

        let id = i;
        if (nTotalRolls>0) {
            document.getElementById(i.toString()).innerHTML += "<td>" + i + "</td>" + "<td>" + naVals[j] + "</td>" + "<td>" + naVals[j] / nTotalRolls * 100 + "</td>";
        }

我遇到的另一个问题是计时器

for (let i=0; i<10; i++) {
       
            document.getElementById("image1").src = "images/dice" + int1 + ".png";
            document.getElementById("image2").src = "images/dice" + int2 + ".png";     

    }

我一辈子都想不通如何让这个循环每次循环时休眠 100 毫秒。我应该使用 setTimeout 但经过几个小时的尝试后我似乎无法使其工作。

任何帮助将不胜感激,谢谢您提前。

标签: javascript

解决方案


推荐阅读