gpt4 book ai didi

javascript - 单击第一个按钮后 HTML 输出未更新/计算

转载 作者:行者123 更新时间:2023-12-02 22:53:52 25 4
gpt4 key购买 nike

目前正在学习 javascript。我想创建一个简单的体积计算器以供练习。当您单击按钮进行计算时,它首先会起作用,但如果您更改输入的数字,除非刷新,否则它不会计算。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="stylesheet" href="Calc.css">
</head>
<body>
<div class="box">
<input type="number" class="length">
<input type="number" class="width">
<input type="number" class="height">
<button type="button">calculate</button>
<p>Your volume is: <span type="number" class="volume"></span></p>
</div>

<script src="Calc.js"></script>
</body>
</html>


const length = document.querySelector('.length').value;
const width = document.querySelector('.width').value;
const height = document.querySelector('.height').value;
const button = document.querySelector('button');
const volume = document.querySelector('.volume');

function calculate () {
volume.innerHTML = length * width * height + " cubic inches.";
}

button.addEventListener('click', calculate);

最佳答案

欢迎来到SO。

你在 JS 中犯了一个小错误。您不必在加载 JS 文件时加载变量中的长度、宽度和高度,而是必须在每次单击按钮时加载这些值,即每次调用函数时。所以只需将这些变量声明放在函数中即可。

简而言之,

从此:

const length = document.querySelector('.length').value;
const width = document.querySelector('.width').value;
const height = document.querySelector('.height').value;
const button = document.querySelector('button');
const volume = document.querySelector('.volume');

function calculate () {
volume.innerHTML = length * width * height + " cubic inches.";
}

button.addEventListener('click', calculate);

您将前往:

const button = document.querySelector('button');
const volume = document.querySelector('.volume');

function calculate () {
const length = document.querySelector('.length').value;
const width = document.querySelector('.width').value;
const height = document.querySelector('.height').value;
volume.innerHTML = length * width * height + " cubic inches.";
}

button.addEventListener('click', calculate);

注意我放置变量声明的位置。

关于javascript - 单击第一个按钮后 HTML 输出未更新/计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58073576/

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