【问题标题】:Inner.HTML shown of result flicker结果闪烁的Inner.HTML显示
【发布时间】:2021-05-19 11:17:55
【问题描述】:
function BMI(){
var h = document.getElementById('height').value;
var w = document.getElementById('weight').value;

  var bmi= w/(h/100*h/100);
  var bmi2 = (bmi.toFixed(2));

document.getElementById("result").innerHTML = " your BMI is " + bmi2;

}

为什么“结果”的输出会闪烁

【问题讨论】:

  • 您是否多次调用 BMI() 函数?它可能会多次更新 id 结果元素
  • 您尝试过什么解决问题的方法?您至少应该分享一个完整的工作示例
  • html is

    //是不是因为我在html中使用了onClick="BMI()"?

标签: javascript html innerhtml


【解决方案1】:

您应该将字符串转换为数字,因为在 Javascript 中,当您尝试从输入中获取值时,默认情况下它是字符串。并使用模板文字而不是连接字符串。

function BMI(event){
  event.preventDefault();
  var h = Number(document.getElementById('height').value);
  var w = Number(document.getElementById('weight').value);

  var bmi= w/(h/100*h/100);
  var bmi2 = (bmi.toFixed(2));

  document.getElementById("result").innerHTML = `Your BMI is ${bmi2}`;

}

【讨论】:

  • 谢谢提及,但这并不能解决闪烁的问题..
  • 您是否在提交类型按钮中添加 onClick 事件?
猜你喜欢
  • 2015-08-24
  • 1970-01-01
  • 1970-01-01
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
相关资源
最近更新 更多