我在点击时添加了一个类.error
,现在在2秒的时间间隔后我想删除这个类,但是没有页面重新加载/刷新。我在jQuery中使用了delay()
:
$('#username').addClass('error').delay(2000).removeClass('error');
但它不起作用。
然后我尝试了setTimeout()
。
它正在工作,但正在重新加载页面。我希望在特定时间之后添加,然后删除类,但不刷新/重新加载页面。
请提供帮助,并提前感谢您。
答案 0 :(得分:4)
var element = document.getElementById('username');
element.classList.add('error');
window.setTimeout(function () {
element.classList.remove('error');
}, 2000);

#username {
width: 100%;
height: 50px;
line-height: 50px;
color: white;
background-color: green;
text-align: center;
transition: background-color .25s linear;
}
#username.error {
background-color: red;
}

<div id="username">Username</div>
&#13;
答案 1 :(得分:2)
使用jquery和setTimeout函数:
var $elm = $("#username").addClass("error");
setTimeout(function() {
$elm.removeClass("error");
}, 2000);
&#13;
.error{
color:red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="username">USER NAME</div>
&#13;