Javascript 函数 setTimeout DOM 不工作
Javascript function setTimeout DOM is not working
我已经创建了显示错误并在 3s.Error 消息显示后淡出并且不会消失的功能。
function showError(error){
setTimeout(()=>{
const errorDiv = document.createElement('div');
errorDiv.className = 'alert alert-danger';
// placing a text with in div
errorDiv.append(document.createTextNode(error));
//placement of error
const card = document.querySelector('.card');
const heading = card.firstChild;
card.insertBefore(errorDiv,heading);
}
,3000);
}
我知道我可以声明另一个函数来淡出错误,而不是在上面提到的 showError 函数中调用 setTimeout。
请问有人可以正确解释为什么 setTimout 不起作用吗?
您正在等待 3 秒来显示消息,而不是将其删除。
立即显示消息,然后使用 setTimeout()
将其删除。
function showError(error) {
const errorDiv = document.createElement('div');
errorDiv.className = 'alert alert-danger';
errorDiv.append(document.createTextNode(error));
const card = document.querySelector('.card');
card.insertAdjacentElement('afterbegin', errorDiv);
// remove after 3 seconds
setTimeout(() => {
errorDiv.remove();
}, 3000);
}
抱歉问了这么可怕的问题。我认为 setTimout 函数在给定时间段内执行其内容。
我不知道它的用途是什么,但现在我知道了。
setTimeout() 设置一个计时器,一旦计时器到期,该计时器就会执行一个函数或指定的代码段。
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout
我已经创建了显示错误并在 3s.Error 消息显示后淡出并且不会消失的功能。
function showError(error){
setTimeout(()=>{
const errorDiv = document.createElement('div');
errorDiv.className = 'alert alert-danger';
// placing a text with in div
errorDiv.append(document.createTextNode(error));
//placement of error
const card = document.querySelector('.card');
const heading = card.firstChild;
card.insertBefore(errorDiv,heading);
}
,3000);
}
我知道我可以声明另一个函数来淡出错误,而不是在上面提到的 showError 函数中调用 setTimeout。 请问有人可以正确解释为什么 setTimout 不起作用吗?
您正在等待 3 秒来显示消息,而不是将其删除。
立即显示消息,然后使用 setTimeout()
将其删除。
function showError(error) {
const errorDiv = document.createElement('div');
errorDiv.className = 'alert alert-danger';
errorDiv.append(document.createTextNode(error));
const card = document.querySelector('.card');
card.insertAdjacentElement('afterbegin', errorDiv);
// remove after 3 seconds
setTimeout(() => {
errorDiv.remove();
}, 3000);
}
抱歉问了这么可怕的问题。我认为 setTimout 函数在给定时间段内执行其内容。 我不知道它的用途是什么,但现在我知道了。
setTimeout() 设置一个计时器,一旦计时器到期,该计时器就会执行一个函数或指定的代码段。
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout