【问题标题】:document.getElementById not writing what I told it to makedocument.getElementById 没有写我告诉它要做什么
【发布时间】:2018-06-28 10:47:43
【问题描述】:

如果这是重复的,请提前道歉。

由于某种原因,我的 JavaScript 没有运行或无效。或者可能是 HTML。代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Math Facts Game</title>
        <style>
            h1 {text-align: center; font-size:28px;}
            button {font-size:27px;}
            h2 {color: green; text-align: center;}
            body {text-align: center;}
        </style>
        
    </head>
    <body id="body">
        <h1>Welcome to</h1><a href="https://www.khanacademy.org/profile/Ethanlovessnakes/">epthesnakelover's</a><h1> math fact game!</h1>
        <h2 id="loading-bar"></h2>
        <br>
        Range: <input id="range1"> to <input id="range2">
        <br>
        <br>
            <button onclick="startgame()">Start</button>
        
        <div id="loader-container">
        </div>
        <script>
            function startgame() {
            document.getElementById("body").innerHTML = "Loading";
            var y = document.createElement("BR");
            document.body.appendChild(y);
            var x = document.createElement("IMG");
            x.setAttribute("src", "https://upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif");
            x.setAttribute("width", "10%");
            x.setAttribute("height", "10%");
            x.setAttribute("alt", "Loader");
            document.body.appendChild(x);
            var one;
            var z;
            setTimeout(game, 3000)   
            };
            
            function game() {
             document.getElementById("body").innerHTML = "";   
            rangeo = document.getElementById("range1").value;
            ranget = document.getElementById("range2").value;
            
               
               one = Math.floor((Math.random() * ranget) + rangeo);
               two = Math.floor((Math.random() * ranget) + rangeo);
              
            document.getElementById("body").innerHTML = "What is" + one + "X" + two;
                
            };
        </script>
    </body>
</html>

我不知道为什么这没有改变 innerHTML。请帮忙,我们将不胜感激!

提前致谢!

【问题讨论】:

  • 你想用 JavaScript 实现什么?
  • "not working" 不是问题描述。请详细描述您的问题、您希望您的代码做什么以及它会做什么。
  • 我希望它生成一个随机乘法问题,并且它的每个部分都在您输入的范围内
  • 我解决了这个问题,@Teemu

标签: javascript html dom


【解决方案1】:

当您执行document.getElementById("range1") 时,输入已消失,因为您已将正文中的所有 HTML 替换为 "Loading"。在你这样做之前获取输入的值,或者隐藏它们而不是删除它们。

【讨论】:

    猜你喜欢
    • 2010-12-07
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多