
这个问题可以看到有两次叠加的现象,弹出提示窗口JS怎么设置弹出一次,假设多弹出也要把前者取消,让后者弹出一次?
function prompt(text,bgcolor) { var sbid = document.getElementsByTagName("body")[0]; var newDiv = document.createElement("div");
newDiv.className="dialog";
newDiv.className +=" "+bgcolor;
newDiv.innerHTML += "<p>"+text+"</p>";
sbid.appendChild(newDiv);
setTimeout(function(){
sbid.removeChild(newDiv);
},4000);
}Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
每次弹出的时候都清空一下。然后再渲染
var newDiv;function prompt(text,bgcolor) { if(newDiv == null){ var sbid = document.getElementsByTagName("body")[0]; newDiv = document.createElement("div"); newDiv.className="dialog"; newDiv.className +=" "+bgcolor; newDiv.innerHTML += ""+text+"
"; sbid.appendChild(newDiv); setTimeout(function(){ newDiv.parentNode.removeChild(newDiv); newDiv = null; },4000); }else{ newDiv.parentNode.removeChild(newDiv); newDiv = null; prompt(text,bgcolor); } }