使用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>

10-05 21:02
查看更多