zoukankan      html  css  js  c++  java
  • 【JAVASCRIPT】JavaScript模拟对话框练习【转】

    设计思路:先创建一个满浏览器的层,设定透明度,有遮挡效果,然后再创建一个层(Zindex》遮挡层的Zindex),显示对话框内容

    <!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>
        <title></title>
        <script type="text/javascript">
            function sAlert(str) {
                var msgw, msgh, bordercolor;
                msgw = 300; //提示窗口的宽度
                msgh = 200; //提示窗口的高度
                titleheight = 25; //提示窗口标题高度
                bordercolor = "#FF3C00"; //提示窗口的边框颜色
                titlecolor = "#D2CECE"; //提示窗口的标题颜色

                var sWidth, sHeight;
                //sWidth=document.body.offsetWidht;//得出当前屏幕的宽
                sWidth = document.body.clientWidth; //body对象宽度

                //sHeight=screen.height;//得到当前屏幕的高
                //sHeight=document.body.clientHeight;//body对象高度
                if (window.innerHeight && window.scrollMaxY) {
                    sHeight = window.innerHeight + window.scrollMaxY;
                }
                else if (document.body.scrollHeight > document.body.offsetHeight) {
                    sHeight = document.body.scrollHeight;
                }
                else {
                    sHeight = document.body.offsetHeight;
                } //以上得到整个屏幕的高


                var bgObj = document.createElement("div"); //创建一个div对象
                bgObj.setAttribute("id", "bgDiv"); //可用bgObj.id="bgDiv"的方法,是为div制定属性值
                bgObj.style.position = "absolute"; //把bgDiv这个div绝对定位
                bgObj.style.top = "0"; //顶部为0
                bgObj.style.background = "#777"; //北京颜色
                bgObj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75)"; //ie浏览器透明度设置
                bgObj.style.opacity = "0.6"; //透明度(火狐中)
                bgObj.style.left = "0"; //左边为0
                bgObj.style.width = sWidth + "px"; //宽(上面得到的屏幕宽度)
                bgObj.style.height = sHeight + "px"; //高(上面得到的屏幕高度)
                bgObj.style.zIndex = "100"; //层的z轴位置
                document.body.appendChild(bgObj);

                var msgObj = document.createElement("div"); //创建一个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 = "35%"; //从左侧开始位置
                msgObj.style.top = "30%"; //从上部开始位置
                msgObj.style.font = "12px/1.6em Verdana,Geneva,Arial,Helvetica,sans-serif"; //字体属性
                msgObj.style.width = msgw + "px"; //提示框的宽
                msgObj.style.height = msgh + "px";
                msgObj.style.textAlign = "center";
                msgObj.style.lineHeight = "25px"; //行间距
                msgObj.style.zIndex = "101"; //层的z轴位置

                var title = document.createElement("h4"); //创建一个h4对象
                title.setAttribute("id", "msgTitle"); //为h4对象添加标题
                title.setAttribute("align", "right"); //文字对齐方式
                title.style.margin = "0"; //浮动
                title.style.padding = "3px"; //浮动
                title.style.background = titlecolor; //背景颜色
                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.height = "25px";
                title.style.font = "12px Verdana,Geneva,Arial,Helvetica,sans-serif"; //字体属性
                title.style.color = "white";
                title.style.cursor = "pointer";
                title.innerHTML = "<a href=\"#\">关闭</a>"; //显示文字
                title.onclick = function () {
                    document.body.removeChild(bgObj); //移出遮罩层
                    document.getElementById("msgDiv").removeChild(title); //在提示框移除标题
                    document.body.removeChild(msgObj); //移除提示框
                }
                document.body.appendChild(msgObj); //在body中划出提示框层
                document.getElementById("msgDiv").appendChild(title); //在提示框中增加标题
                var txt = document.createElement("p");
                txt.style.margin = "1em 0"; //文本浮动
                txt.setAttribute("id", "msgTxt");
                txt.innerHTML = str;
                document.getElementById("msgDiv").appendChild(txt);

            }
        
        </script>
    </head>
    <body>
    <a href="#" onclick="sAlert('<a href=http://www.baidu.com>测试效果</a>');">点击测试</a>
    <input type="button" value="getSth" onclick="alert(window.innerHeight)" />
    </body>
    </html>

  • 相关阅读:
    Python中的赋值(复制)、浅拷贝与深拷贝
    review
    Python网络编程
    云计算网络 ASW DSW CSW LSW
    Python文件操作 I/O
    RSI 指标
    python 常见模块
    Python模块和包
    读利弗莫尔
    GDP、CPI、M2
  • 原文地址:https://www.cnblogs.com/ngnetboy/p/2626937.html
Copyright © 2011-2022 走看看