原生js提示框并自动关闭(手工关闭)

 更新时间:2023年04月25日 12:10:05   作者:H_Gragon  
今天在写后台交互的时候原来都是用alert太难看每次都需要点击一下才可以,比较麻烦所以特整理了几个比较好的js提示框代码,方便提示一下

js提示框,n秒后自动关闭,多用于简单的提示,无需人工参与,例如复制内容的时候提示复制成功或者后台提交信息的返回界面都可以用这个

JavaScript自动关闭窗口

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
<title>JavaScript自动关闭窗口</title>  
</head>  
<body>     
<input type="button" value="弹出alert框自动关闭" onClick="Alert('不点击确定三秒后自动关闭')">    
<script>  
//自动关闭提示框    
function Alert(str) {    
    var msgw,msgh,bordercolor;    
    msgw=350;//提示窗口的宽度    
    msgh=80;//提示窗口的高度    
    titleheight=25 //提示窗口标题高度    
    bordercolor="#336699";//提示窗口的边框颜色    
    titlecolor="#99CCFF";//提示窗口的标题颜色    
    var sWidth,sHeight;    
    //获取当前窗口尺寸    
    sWidth = document.body.offsetWidth;    
    sHeight = document.body.offsetHeight;    
//    //背景div    
    var bgObj=document.createElement("div");    
    bgObj.setAttribute('id','alertbgDiv');    
    bgObj.style.position="absolute";    
    bgObj.style.top="0";    
    bgObj.style.background="#E8E8E8";    
    bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";    
    bgObj.style.opacity="0.6";    
    bgObj.style.left="0";    
    bgObj.style.width = sWidth + "px";    
    bgObj.style.height = sHeight + "px";    
    bgObj.style.zIndex = "10000";    
    document.body.appendChild(bgObj);    
    //创建提示窗口的div    
    var msgObj = document.createElement("div")    
    msgObj.setAttribute("id","alertmsgDiv");    
    msgObj.setAttribute("align","center");    
    msgObj.style.background="white";    
    msgObj.style.border="1px solid " + bordercolor;    
    msgObj.style.position = "absolute";    
    msgObj.style.left = "50%";    
    msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";    
    //窗口距离左侧和顶端的距离     
    msgObj.style.marginLeft = "-225px";    
    //窗口被卷去的高+(屏幕可用工作区高/2)-150    
    msgObj.style.top = document.body.scrollTop+(window.screen.availHeight/2)-150 +"px";    
    msgObj.style.width = msgw + "px";    
    msgObj.style.height = msgh + "px";    
    msgObj.style.textAlign = "center";    
    msgObj.style.lineHeight ="25px";    
    msgObj.style.zIndex = "10001";    
    document.body.appendChild(msgObj);    
    //提示信息标题    
    var title=document.createElement("h4");    
    title.setAttribute("id","alertmsgTitle");    
    title.setAttribute("align","left");    
    title.style.margin="0";    
    title.style.padding="3px";    
    title.style.background = bordercolor;    
    title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";    
    title.style.opacity="0.75";    
    title.style.border="1px solid " + bordercolor;    
    title.style.height="18px";    
    title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";    
    title.style.color="white";    
    title.innerHTML="提示信息";    
    document.getElementById("alertmsgDiv").appendChild(title);    
    //提示信息    
    var txt = document.createElement("p");    
    txt.setAttribute("id","msgTxt");    
    txt.style.margin="16px 0";    
    txt.innerHTML = str;    
    document.getElementById("alertmsgDiv").appendChild(txt);    
    //设置关闭时间    
    window.setTimeout("closewin()",2000);     
}    
function closewin() {    
    document.body.removeChild(document.getElementById("alertbgDiv"));    
    document.getElementById("alertmsgDiv").removeChild(document.getElementById("alertmsgTitle"));    
    document.body.removeChild(document.getElementById("alertmsgDiv"));    
}  
</script>  
</body>     
</html>  

弹出提示框,手动关闭

<html>  
<head>  
<title>JavaScript自动关闭窗口</title>  
<meta http-equiv="content-Type" content="text/html;charset=gb2312">  
</head>  
<body>  
<script>  
function sAlert(strTitle,strContent){ 
    var msgw,msgh,bordercolor; 
    msgw=300;//提示窗口的宽度 
    msgh=100;//提示窗口的高度 
    titleheight=25 //提示窗口标题高度 
    bordercolor="#336699";//提示窗口的边框颜色 
    titlecolor="#99CCFF";//提示窗口的标题颜色
 
    var sWidth,sHeight; 
    sWidth=document.body.offsetWidth; 
    sHeight=screen.height; 
    var bgObj=document.createElement("div"); 
    bgObj.setAttribute('id','bgDiv'); 
    bgObj.style.position="absolute"; 
    bgObj.style.top="0"; 
    bgObj.style.background="#777"; 
    bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75"; 
    bgObj.style.opacity="0.6"; 
    bgObj.style.left="0"; 
    bgObj.style.width=sWidth + "px"; 
    bgObj.style.height=sHeight + "px"; 
    bgObj.style.zIndex = "10000"; 
    document.body.appendChild(bgObj);
 
    var msgObj=document.createElement("div") 
    msgObj.setAttribute("id","msgDiv"); 
    msgObj.setAttribute("align","center"); 
    msgObj.style.background="white"; 
    msgObj.style.border="1px solid " + bordercolor; 
    msgObj.style.position = "absolute"; 
    msgObj.style.left = "50%"; 
    msgObj.style.top = "50%"; 
    msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif"; 
    msgObj.style.marginLeft = "-225px" ; 
    msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px"; 
    msgObj.style.width = msgw + "px"; 
    msgObj.style.height =msgh + "px"; 
    msgObj.style.textAlign = "center"; 
    msgObj.style.lineHeight ="25px"; 
    msgObj.style.zIndex = "10001";
 
    var title=document.createElement("h4"); 
    title.setAttribute("id","msgTitle"); 
    title.setAttribute("align","right"); 
    title.style.margin="0"; 
    title.style.padding="3px"; 
    title.style.background=bordercolor; 
    title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);"; 
    title.style.opacity="0.75"; 
    title.style.border="1px solid " + bordercolor; 
    title.style.height="18px"; 
    title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif"; 
    title.style.color="white"; 
    title.style.cursor="pointer"; 
    title.title = "点击关闭"; 
    title.innerHTML="<table border='0′ width='100%'><tr><td align='left'>"+ strTitle +"</td><td>关闭</td></tr></table></div>"; 
    title.οnclick=function(){ 
    document.body.removeChild(bgObj); 
    document.getElementById("msgDiv").removeChild(title); 
    document.body.removeChild(msgObj); 
    }     
    document.body.appendChild(msgObj); 
    document.getElementById("msgDiv").appendChild(title); 
    var txt=document.createElement("p"); 
    txt.style.margin="1em 0" 
    txt.setAttribute("id","msgTxt"); 
    txt.innerHTML=strContent; 
    document.getElementById("msgDiv").appendChild(txt); 
    function closewin() {     
    document.body.removeChild(document.getElementById("msgDiv"));   
  }   
}
</script>  
<input type="button" value="弹出alert框自动关闭" onClick="sAlert('','你要输出的内容!')">    
</body>     
</html>  

适合复制提示的提示框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .popupStyle{
            width:180px;
            height:50px;
            background-color: rgb(85,85,85);            
            /* display:none; */
            color:#fff;
            text-align:center;
            line-height:50px;
            border-radius:10px;
            padding:0;
            position:fixed;
            z-index:1;
            top:40%;
            left:50%;
            transform:translateX(-50%);
        }        
    </style>
</head>
<body style="text-align:center;">
    <h2 style="margin-top:200px;">Pop Up</h2>
    <div style="text-align:center;">
        <a href="#" rel="external nofollow"  rel="external nofollow"  onclick="stylePopup(styleMsg)">stylePopup</a>
        <a href="#" rel="external nofollow"  rel="external nofollow"  onclick="domPopup(domMsg)">domPopup</a>
    </div>
    <span class="popupStyle" id="popup">popupStyle</span>
    <script>
        console.log(getComputedStyle(popup).display)
        const styleMsg='Popup of style'
        const domMsg='Popup of dom'
        function stylePopup(message){
            const popup=document.getElementById('popup')
            console.log(popup)
            popup.innerHTML=message || 'default messsage'
            popup.style.display='block'
            setTimeout(()=>{
                popup.style.display='none'
            },1000)
        }
        function domPopup(message){
            const span=document.createElement('span')
            span.innerHTML=message || 'default'
            span.className='popupStyle'
            span.style.display='block'
            document.body.appendChild(span)
            setTimeout(()=>{
                span.remove()
            },1000)
        }
    </script>
</body>
</html>

到此这篇关于原生js提示框并自动关闭(手工关闭)的文章就介绍到这了,更多相关js提示框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JS数组去重常用方法实例小结【4种方法】

    JS数组去重常用方法实例小结【4种方法】

    这篇文章主要介绍了JS数组去重常用方法,结合实例形式总结分析了4种常用的数据去重实现方法,涉及javascript数组的遍历、判断、追加等相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • 理解JavaScript事件对象

    理解JavaScript事件对象

    这篇文章主要为大家介绍了JavaScript事件对象,了解JavaScript事件
    2016-01-01
  • JavaScript队列结构Queue实现过程解析

    JavaScript队列结构Queue实现过程解析

    这篇文章主要介绍了JavaScript队列结构Queue实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • js将html页面转为pdf两种方法

    js将html页面转为pdf两种方法

    最近遇到的需求,把html转成pdf文件下载导出,下面这篇文章主要给大家介绍了关于js将html页面转为pdf的两种方法,文中给出了详细的代码示例,需要的朋友可以参考下
    2023-08-08
  • javascript实现图片延迟加载方法汇总(三种方法)

    javascript实现图片延迟加载方法汇总(三种方法)

    看到一些大型网站,页面如果有很多图片的时候,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,跟着小编一起学习javascript实现图片延迟加载吧
    2015-08-08
  • js substr支持中文截取函数代码(中文是双字节)

    js substr支持中文截取函数代码(中文是双字节)

    js substr支持中文截取函数代码,中文是双字节,配有实例需要的朋友可以参考下
    2013-04-04
  • bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)

    bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)

    这篇文章主要为大家详细介绍了bootstrap响应式导航条模板使用详解,含下拉菜单,弹出框效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 给超链接添加特效鼠标移动展示提示信息且随鼠标移动

    给超链接添加特效鼠标移动展示提示信息且随鼠标移动

    需要实现这样的效果,就是给超链接添加特效当鼠标移动到上展示提示信息且提示信息跟随鼠标移动,经测试还不错,感兴趣的朋友可以参考下
    2013-10-10
  • 兼容IE与Firefox的js 复制代码

    兼容IE与Firefox的js 复制代码

    这是一段点击复制的代码,现在我的页面里不仅有1个链接需要用到这段代码。请哪位好心人指教一下应该怎么用ID对应的方式来改写这段js,使它实现一个点击复制对应1个相应内容
    2009-12-12
  • javascript获取本机操作系统类型的方法

    javascript获取本机操作系统类型的方法

    关于我们使用电脑的操作系统,我们通过鼠标点击就能获取,如果我们想用脚本怎么实现javascript获取本机操作系统类型的方法呢,下面给大家分享javascript获取本机操作系统类型的方法,需要的朋友可以参考下
    2015-08-08

最新评论