• (转)简单的js弹出窗口效果


    JS最简单的弹出窗口效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
    <title>JS最简单的弹出窗口效果http://www.ok22.org</title>  
    <style type="text/css">  
    html,body{font-size:12px;margin:0px;height:100%;}  
    #BOX_overlay {background:#666;left:0;position:absolute;top:0;z-index:100;}/**遮罩层的样式**/  
    #layer_box {background:#fff;border:3px solid #000;position:absolute;display:none;z-index:999;width:600px;} /**弹出窗口的样式**/  
    .box_title {background:#FFF;border-bottom:1px solid #DDD;margin:10px 10px 0;padding:0 0 5px 20px;} /**关闭栏目**/  
    .box_title span {font-size:14px;font-weight:bold;}  
    .box_title a {color:#000;position:absolute;right:10px;top:10px;}  
    .box_content{padding:10px;margin:10px;}  
    </style>  
    <script>  
    function BOX_show(e,a)//显示  
    {  
        if (document.getElementById(e) == null) {  
            return;  
        }  
          
        //if (!a) {  
        //   var selects = document.getElementsByTagName("select");  
        //    for (i = 0; i < selects.length; i++) {  
        //        selects[i].style.visibility = "hidden";  
        //    }  
        //}  
      
        BOX_layout(e);  
        window.onresize = function() { BOX_layout(e); } //改变窗体重新调整位置  
        window.onscroll = function() { BOX_layout(e); } //滚动窗体重新调整位置  
        document.onkeyup = function(event) {  
            var evt = window.event || event;  
            var code = evt.keyCode ? evt.keyCode : evt.which;  
            //alert(code);  
      
            if (code == 27) {  
                BOX_remove(e);  
            }  
        }  
    }  
    function BOX_remove(e)//移除  
    {  
        window.onscroll = null;  
        window.onresize = null;  
        document.getElementById("BOX_overlay").style.display = "none";  
        document.getElementById(e).style.display = "none";  
      
        //var selects = document.getElementsByTagName("select");  
        //for (i = 0; i < selects.length; i++) {  
        //    selects[i].style.visibility = "visible";  
        //}  
    }  
      
    function BOX_layout(e)//调整位置  
    {  
        var a = document.getElementById(e);  
      
        if (document.getElementById("BOX_overlay") == null)//判断是否新建遮掩层  
        {  
      
            var overlay = document.createElement("div");  
            overlay.setAttribute("id", "BOX_overlay");  
              
      
            //overlay.onclick=function(){BOX_remove(e);};  
            //a.parentNode.appendChild(overlay);  
            document.body.appendChild(overlay);  
        }  
        document.getElementById("BOX_overlay").style.cssText="filter:alpha(opacity=0);-moz-opacity:0;opacity:0;"  
        showBackground(document.getElementById("BOX_overlay"),50)  
        document.getElementById("BOX_overlay").ondblclick = function() { BOX_remove(e); };  
        //取客户端左上坐标,宽,高  
        var scrollLeft = (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);  
        var scrollTop = (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);  
      
        var clientWidth;  
        if (window.innerWidth) {  
            clientWidth = window.innerWidth;  
            //clientWidth = ((Sys.Browser.agent === Sys.Browser.Safari) ? window.innerWidth : Math.min(window.innerWidth, document.documentElement.clientWidth));  
        }  
        else {  
            clientWidth = document.documentElement.clientWidth;  
        }  
      
        var clientHeight;  
        if (window.innerHeight) {  
            clientHeight = window.innerHeight;  
            //clientHeight = ((Sys.Browser.agent === Sys.Browser.Safari) ? window.innerHeight : Math.min(window.innerHeight, document.documentElement.clientHeight));  
        }  
        else {  
            clientHeight = document.documentElement.clientHeight;  
        }  
      
        var bo = document.getElementById("BOX_overlay");  
        bo.style.left = scrollLeft + "px";  
        bo.style.top = scrollTop + "px";  
        bo.style.width ="100%";  
        bo.style.height = clientHeight + "px";  
        bo.style.display ="";  
      
        //Popup窗口定位  
        a.style.display = "block"  
        a.style.left = scrollLeft + ((clientWidth - a.offsetWidth) / 2) + "px";  
        a.style.top = scrollTop + ((clientHeight - a.offsetHeight) / 2) + "px";  
    }  
    function showBackground(obj,endInt)  
    {  
        var isIe=(document.all)?true:false;  
        if(isIe)  
        {  
            obj.filters.alpha.opacity+=2;  
            if(obj.filters.alpha.opacity<endInt)  
            {  
                setTimeout(function(){showBackground(obj,endInt)},5);  
                //alert(obj.filters.alpha.opacity);  
            }  
        }else  
        {  
            var al=parseFloat(obj.style.opacity);al+=0.01;  
            obj.style.opacity=al;  
        if(al<(endInt/100))  
        {setTimeout(function(){showBackground(obj,endInt)},5);}  
        }  
    }  
    </script>  
    </head>  
      
    <body>  
    <a href="javascript:BOX_show('layer_box');">点击弹出窗口</a>  
    <div id="layer_box">  
        <div class="box_title"><span>弹出窗口标题</span><a onclick="BOX_remove('layer_box')" href="javascript:void(0)">关闭</a></div>  
        <div class="box_content">弹出窗口内容</div>  
    </div>  
    </body>  
    </html> 

    出处:http://www.ok22.org/art_detail.aspx?id=189

    弹出窗口标题关闭
    弹出窗口内容


    欢迎加入JAVA技术交流QQ群:179945282

    欢迎加入ASP.NET(C#)交流QQ群:17534377


  • 相关阅读:
    js当地天气调用
    js 3D旋转效果
    js 格林威治时间转正常格式并兼容ios
    vue中使用百度地图,悬浮窗搜索功能
    js 百度地图定位
    高德地图坐标与百度地图坐标相互转换
    js高德地图手机定位
    数据循环处理重组2
    数据循环处理重组1
    百度地图搜索框在弹框中不显示
  • 原文地址:https://www.cnblogs.com/q149072205/p/2778812.html
Copyright © 2020-2023  润新知