我如何才能显示多个(如果/否则)一个ID?

时间:2019-01-30 01:02:18

标签: javascript if-statement

说出以下两个if语句为真,我如何使它们在不同时间写入同一标签。

if (a===b) {
        document.getElementById("LW").innerHTML = "statement 1"
    }
else  if (c===d) {
        document.getElementById("LW").innerHTML = "statement 2"
    }
else  if (e===f) {
        document.getElementById("LW").innerHTML = "statement 3";
    }
else {
        document.getElementById("LW").innerHTML = "";
    }

它将转到此

<p id="LW"></p>

例如,如果两个if语句为true,是否可以将一个语句写入p标记3秒钟,然后显示下一个true语句?也许是函数或setTimer?

我尝试了很多想法并进行了全面搜索,但是我似乎无法弄清楚这个想法!任何帮助将是巨大的!在此先感谢您,如有必要,我可以尝试进一步解释!

1 个答案:

答案 0 :(得分:0)

我不确定您要在这里实现什么。但是我能想到的一种解决方案是不使用if-else,而是使用if语句并将需要显示的所有可能内容添加到数组中。

稍后,您可以不断切换数组的内容。

<!DOCTYPE html>
<html>

<body>

	<p>Click the button.</p>

	<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
  document.getElementById('LW').value = 'statement 1';
  var contents = [];
  var i = 0;
  var count = 0;
  var a=1, b=1,c=2,d=2,e=3,f=3, g=4, h=5;
  if (a === b) {
    contents.push("statement 1");
    count++;
  }
  if (c === d) {
    contents.push("statement 2");
    count++;
  }
  if (e === f) {
    contents.push("statement 3");
    count++;
  }

  if (g === h) {
    contents.push("statement 3");
    count++;
  }

    setInterval(function(){ 
    i++;
    document.getElementById('LW').value = contents[i%count] 
  }, 1000);
}

</script>

            <label for="LW"></label><input type="text" id="LW"><label id="LWlabel"></label>
</body>
</html>