这个问题可以看到有两次叠加的现象,弹出提示窗口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); }
面对疾风吧2016-11-08 16:08:08
每次弹出的时候都清空一下。然后再渲染
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); } }