JavaScript 超时 div

标签 javascript html function time

我收到一条提醒,提示您是对/错。我想放置一个将出现几秒钟的 div 而不是警报。因此,当选择正确/错误的答案时,将出现此 div 而不是警报。我知道需要一个超时功能,但我似乎无法让它工作。我尝试了几次,但没有任何效果。有谁知道我会怎么做?

这是 html (div)

<div id = "your wrong"> 
wrong answer!
</div>


<div id = "right answer">
Right answer! 
</div>

这是警报的 JavaScript

function characterclicked(nr) {  

if (nr == oddoneout[currentQuestionIndex].answer) {  
alert("You're right!");
score+= 200;;
}
else{
alert("you are wrong it was " +   oddoneout[currentQuestionIndex].characterName);
}

nextQuestion();


}

最佳答案

HTML 中唯一不允许在 id 值中使用的内容就是空格。 :-) 所以我们需要更改这些 id

但是,让它们一开始不可见(display: none),显示相关的(display: block),然后再次隐藏它就很简单了通过 setTimeout 延迟后。

document.getElementById("btnRight").onclick = function() {
  show("right");
};
document.getElementById("btnWrong").onclick = function() {
  show("wrong");
};

function show(id) {
  var element = document.getElementById(id);
  element.style.display = "block";
  setTimeout(function() {
    element.style.display = "none";
  }, 1000); // 1000ms = 1 second
}
<div id="wrong" style="display: none">
wrong answer!
</div>

<div id="right" style="display: none">
Right answer! 
</div>

<div>
  <input type="button" id="btnRight" value="Show Right">
  <input type="button" id="btnWrong" value="Show Wrong">
</div>

关于JavaScript 超时 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30002856/

相关文章:

javascript - 具有多个 xtypes 的 ExtJS 5 网格小部件列

javascript - 当我们按下 BACKSPACE/DEL/do CUT 时,IE9 中的 oninput 不会触发

html - CSS 特异性问题 - 网格内网格

javascript - 在 JavaScript 中创建全局函数

function - 在Fortran中将多个变量的外部函数作为一个变量的函数传递

javascript - 如何包装jquery动画?

javascript - 如何在服务器端使用D3js直接生成SVG?

javascript - 当文本区域处于可编辑模式时,如何为文本区域中的每一行添加数字前缀

android - html 5 canvas 硬件是否在 android chrome beta 上加速?

ajax - Laravel - 如何通过 AJAX (jQuery) 调用 Controller 函数