javascript - 弹出提示窗口JS怎么设置弹出一次,假设多弹出也要把前者取消,让后者弹出一次?
本文介绍了javascript - 弹出提示窗口JS怎么设置弹出一次,假设多弹出也要把前者取消,让后者弹出一次?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
这个问题可以看到有两次叠加的现象,弹出提示窗口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);
}
解决方案
每次弹出的时候都清空一下。然后再渲染
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 += "<p>"+text+"</p>";
sbid.appendChild(newDiv);
setTimeout(function(){
newDiv.parentNode.removeChild(newDiv);
newDiv = null;
},4000);
}else{
newDiv.parentNode.removeChild(newDiv);
newDiv = null;
prompt(text,bgcolor);
}
}
这篇关于javascript - 弹出提示窗口JS怎么设置弹出一次,假设多弹出也要把前者取消,让后者弹出一次?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文