三个数的最大值 DOM 操作

max Value of Three Numbers DOM Manipulation

这是我的项目,returns 3 个数字的最大值。我想要做的是在我拥有的三个输入字段中输入 3 个数字,当我单击“计算”按钮时,我希望在 h1 之后显示这三个数字中最大的一个。我将输入传递给数字,然后创建一个包含这三个数字的数组,然后遍历该数组,将每个元素与第一个元素进行比较。但它不起作用。我真的找不到我的代码中的错误。有人可以帮忙吗?

这里是 html:

 <!DOCTYPE html>
    <html>
    <head>
     <meta charset="UTF-8">
     <title>Max Value Of Three Numbers</title>

    </head>
    <body>
     <h1>The biggest number is: <span id="maxDisplay">0</span></h1>
     <input type="number" name="" id="num1">
     <input type="number" name="" id="num2">
     <input type="number" name="" id="num3">
     <button id="calculateMax">Calculate</button>

     <script type="text/javascript" src="maxValue.js"></script>
    </body>
    </html>

和JavaScript:

var maxDisplay = document.querySelector("#maxDisplay");

var number1 = document.getElementById("num1");
var num1 = Number(number1.value);
var number2 = document.getElementById("num2");
var num2 = Number(number2.value);
var number3 = document.getElementById("num3");
var num3 = Number(number3.value);
var arr = [num1, num2, num3];

var calculateMax = document.getElementById("calculateMax");

var maxNumber = 0;



calculateMax.addEventListener("click", function(){
    var maxNumber = arr[0];
    for (var i = 1; i < arr.length; i++) 
    {
        if(arr[i] > maxNumber) 
            { 
                maxNumber = arr[i];
            }
    }
    maxDisplay.textContent = maxNumber;

});

这是因为一旦到达 HTML 文件中的脚本标记(脚本已加载),您就会获取输入字段的值,因此这些值当时为空。像这样移动部分代码。

var maxDisplay = document.querySelector("#maxDisplay");
var calculateMax = document.getElementById("calculateMax");
var maxNumber = 0;
var number1 = document.getElementById("num1");
var number2 = document.getElementById("num2");
var number3 = document.getElementById("num3");

calculateMax.addEventListener("click", function(){
    var num1 = Number(number1.value);
    var num2 = Number(number2.value);
    var num3 = Number(number3.value);
    var arr = [num1, num2, num3];

    var maxNumber = arr[0];
    for (var i = 1; i < arr.length; i++) {
        if(arr[i] > maxNumber)
            maxNumber = arr[i];
    }
    maxDisplay.textContent = maxNumber;

});

这样,您将在单击按钮时获得这些值。附带说明一下,您无需像这样手动输入 for 循环就可以获得数组的最大值。

maxDisplay.textContent = Math.max.apply(null, arr);

var res = document.getElementById('maxDisplay');
var num1 = document.getElementById('num1');
var num2 = document.getElementById('num2');
var num3 = document.getElementById('num3');
var btn = document.getElementById('calculateMax')
btn.addEventListener('click',function() {
var arr = [num1.value,num2.value,num3.value]
res.innerHTML = Math.max(...arr);
})
<html>
    <head>
     <meta charset="UTF-8">
     <title>Max Value Of Three Numbers</title>

    </head>
    <body>
     <h1>The biggest number is: <span id="maxDisplay">0</span></h1>
     <input type="number" name="" id="num1">
     <input type="number" name="" id="num2">
     <input type="number" name="" id="num3">
     <button id="calculateMax">Calculate</button>
    </body>
    </html>