仅当用户在输入框中键入一个大于0的值时显示元素

时间:2018-11-27 22:13:14

标签: javascript html

我正在为《魔兽世界》建立一个简单的统计计算器。这个想法是您选择一个类,然后在输入中输入一些值。随着每个值的更改(我为此使用了更改和键入),结果“计算”也将显示在表格下方。很高兴我已经走了这么远,现在只想再进一步。

我正在使用香草JS和jQuery。这是我的小提琴。 https://jsfiddle.net/ejnLbyug/

如果用户将其留空,我想在HTML中隐藏元素。例如,现在,当用户将“ Stamina”框留为空白时,其“命中点”结果仍显示为+0。

我不想显示+0,而是宁愿完全隐藏它(如果该输入框为空)。我如何才能对所有用inner.HTML打印的“结果”执行此操作?因此,直到用户实际上在任何输入框中键入大于0的数字为止,元素才被隐藏。

例如,我尝试了以下耐力输入:

if (stamina === 0) { return;
} else {
  document.getElementById('staminaresult').innerHTML = ('+' + stamina + ' Hit Points')
 }

但这似乎不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我已经在您的文档上尝试过此代码,并且可以正常工作,例如,我将其隐藏的结果之一

 if(this.intellect > 0) {
   document.getElementById('intellectresult').innerHTML = ('+' + intellect + '  Mana');
 }

在这里,我使用window来获取更新后的当前状态(这对于更新工作正常)

    window.intellect = intellect * 15; }

    // Intellect - mana result
    if(window.intellect > 0) {
       return document.getElementById('intellectresult').innerHTML = ('+' + 
        window.intellect + '  Mana');
    }

但是您需要将此条件添加到每个document.innerHTML中,我发现这样做不好,请尝试使代码更短