使用javascript我想显示错误消息,消息将在2秒后隐藏/消失。错误在2秒后完全显示并隐藏,但第二次不起作用。如果我重新加载我的页面,它再次完美地工作,等等。
JavaScript
if(task_hour == "hour" || task_minute == "minute"){
document.getElementById("error").innerHTML = "Add Time for the Task";
setTimeout(function(){ document.getElementById("error").style.display="none"; }, 2000);
return false;
}
HTML格式
<div id="errordiv" align="center" style="margin-left: auto; margin-right: auto;">
<span id="error" style="color: red"> </span>
</div>
最佳答案
您应该将div设置为初始隐藏(display: none
),并使用display: block
来显示它:
JS公司:
var timer = null;
function showError(message) {
if (timer !== null) {
// Clear previous timeout:
clearTimeout(timer);
timer = null;
}
var errorElement = document.getElementById("error");
errorElement.innerHTML = message;
errorElement.style.display = 'block';
timer = setTimeout(function(){ errorElement.style.display = 'none'; }, 2000);
}
showError('Error!');
HTML格式:
<div id="errordiv" align="center" style="margin-left: auto; margin-right: auto;">
<span id="error" style="color: red; display: none"></span>
</div>