弹出提示窗口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);
}

给你看看这段代码:

function hello(){      

alert("hello");

}

var id=window.setTimeout(hello,5000);

document.onclick=function(){     

window.clearTimeout(id);

 }

function prompt(text,bgcolor){

var sbid = document.getElementsByTagName("body")[0];
var newDiv = document.createElement("div");
newDiv.className="dialog";
newDiv.className +=" "+bgcolor;
newDiv.id="dialog";
newDiv.innerHTML += "<p>"+text+"</p>";
sbid.appendChild(newDiv);
if(document.getElementById("dialog")){
    document.getElementById("dialog").onclick = function(){
        this.parentNode.removeChild(document.getElementById("dialog"));
    }
}

}


弹出弹窗前,先把弹窗内容区域清空,然后再把内容填充进弹窗内容区


立个flag.

var flag = true;
if(flag) {
    flag = false;
    prompt(...);
}
function prompt(text,bgcolor) {
    clearTimeout(timer);
    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);
    var timer = setTimeout(function(){
        sbid.removeChild(newDiv);
        flag = true;   //  在这儿还原flag
    },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);
    }
}

function prompt(text,bgcolor) {
    var sbid = document.getElementsByTagName("body")[0];
    var alert = document.querySelectorAll('.dialog');//得到Dialog列表
    if(alert.length>0){
        sdid.removeChild(alert[0]);
        //如果有多个可以遍历删除
        //但是加了这个,基本上就只有单个了
    }else{
        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);
    }
    
}



相关阅读:
前端如何掌握必须的http知识?
在pfsense中启动barnyard2失败
scrapy怎么设置返回码不是200换代理
为什么有的公司要求DBA禁止使用between?
Laravel 如何获取路由名称?
前后端分离中碰到跨域问题大家是怎么解决的?
阮一峰老师《ECMAScript 6入门》第一节中的疑问
定时器中this为什么会指向window
backbone排序问题,视图实时排序
vuex中的state值,在工具类模块中怎么获取?
怎样用yii2.0配合mongodb做后台的权限控制系统???
类方法里实现网络请求类单例的方法有些情况返回不了数据
mysql如何合并两张结构相同的数据表?
easyui1.5 datagrid中分页显示不正常,求教各位
API Gateway 或者 OpenAPI设计思想?
vue.js实现组件间的上移下移
新人小白问题之 什么时候需要用到form标签?什么时候不必用,用不用有什么区别?
Git出错 Fatal:multiple Stage Entriesfor Merged File
前端怎么实现关闭页面或浏览器后,重新打开页面或重启浏览器,可以继续原来的操作,比如重新打开后不需要重新调用后台的服务
flask 中的 template_rendered 函数



快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 记忆,是我曾走过 我的家乡—苏州作文200字 高中高二作文900字:鱼的自诉 装死的小蝌蚪 窗外的木棉花作文350字 小学五年级作文600字:妈妈,我爱你 相思,执手夕阳 放风筝150字作文 初中初一作文650字:有趣的“斗牛”比赛 2012—2013学年初二物理组教学工作总结 四年级科学学科教学工作汇报 依米花的光芒 温暖造句 读《母亲的偏方》有感 写日记的感受作文550字 你所羡慕的一切,都是有备而来 小恐龙波比 让雨来替我思念 我以为,我可以作文200字 我一直在等你,却等到你已穿上婚纱 你离开了,请顺便把我的心也带走 瞧这父女俩 秦始皇时民歌 小学四年级作文400字:当 小 组 长——真不容易 我的厨房秀 小学五年级作文450字:我的爷爷奶奶 心在做健康操 2014年绿色旅游公益宣传活动策划书_策划书 写给女生的话 经典的励志歌曲推荐 正月十五闹元宵_550字 村安全生产月工作方案 残爱二三记 人一生需要放下的八种东西 思念,悲伤作文450字 成长的烦恼说不完作文500字 心中的阴影作文400字 最新做家务的作文:第一次做家务 被抛弃的女孩 我终于战胜了胆小 留心生活作文700字 描写日出的好段 24岁,一定要谈爱吗? 如何树立社会主义的荣辱观[论文] 公寓生活记趣_张爱玲 纪念过去…… 青春演讲稿-青春因奉献而绽放异彩 有关腊八粥的 温暖片断 声声慢【二】 诚实比分数更重要--读《二报一刊》有感

Copyright © 2016 phpStudy |