样式显示等于'block'无效

问题描述 投票:0回答:1

我的代码正在从外部API提取数据,但是我的输出在我单击按钮之前出现。它显示为NaN值。当我在输入字段中输入数字时,它会计算实数,并且一切都很好,但是理想情况下,我不希望在单击之前看到输出。

当我这样做:

document.querySelector(".output").style.display = "none";

在执行此功能之前,>]

document.querySelector(".output").style.display = "block";

在该函数中,我之前什么都看不到,但是单击该按钮调用该函数后,我也看不到任何东西。为什么会这样?

const button = document.getElementById("btn");
const input = document.getElementById("currency");

button.addEventListener("click", currencyConverter);

document.querySelector(".output").style.display = "none";

async function currencyConverter() {
  const url = `https://api.frankfurter.app/latest?amount=${input.value}&from=EUR&to=USD,CAD,AUD,CHF,GBP`;

  const response = await fetch(url);
  const data = await response.json();
  console.log(data);

  document.querySelector(".output").style.display = "block";

  document.getElementById("output").innerHTML = `
    <div class='usa'>
    <h2>USD</h2> <img src='usd.svg' height='40'> <h2>${(
      (input.value * data.rates.USD) /
      input.value
    ).toFixed(2)}</h2>
    </div>
...
currencyConverter();


等...

我的代码正在从外部API提取数据,但是我的输出在我单击按钮之前出现。它显示为NaN值。当我在输入字段中输入数字时,它将计算实数,然后...

javascript
1个回答
0
投票

您在代码末尾有currencyConverter();,因此将在单击按钮之前执行您的功能。如果删除该行代码,您的函数将正常运行。希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.