javaScript用DIV模拟创建模态对话框

现在google浏览器不支持非模态对话框了,所以只好用DIV模拟创建一个模态对话框,代码如下:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <title>div做弹窗口的效果</title>
        <script type="text/javascript">
            var baseText = null;

            function showPopup(w, h) {

               //窗口弹出时启动定时器让本窗口5秒后自动关闭并清除定时器
                var t1=setTimeout(refreshCount, 1000 * 5);
                var popUp = document.getElementById("popupcontent");
                popUp.style.top = "200px";
                popUp.style.left = "200px";
                popUp.style.width = w + "px";
                popUp.style.height = h + "px";
                if(baseText == null) baseText = popUp.innerHTML;

               //双引号中含单引号或单引号中含双引号,这样就不用在字符串内使用转义字符"\"了。
                popUp.innerHTML = baseText + '<div id="statusbar"><button οnclick="hidePopup();">Close window</button></div>';
                var sbar = document.getElementById("statusbar");
                sbar.style.marginTop = (parseInt(h) - 40) + "px";
                popUp.style.visibility = "visible";
                popUp.style.visibility = "visible";
            }

            function refreshCount() {
                //必须先关闭窗口,然后清除定时器!顺序搞反了后,窗口关闭不了。
                hidePopup();
                clearTimeout(t1);   
            }

            function hidePopup() {
                var popUp = document.getElementById("popupcontent");
                popUp.style.visibility = "hidden";
            }
            
        </script>
        
        <style type="text/css">
            #popupcontent {

               <!--absolute是相对于浏览器定位,以浏览器左上角(0,0)为基准进行定位,比如left:20px;top:80px; -->
                position: absolute;  

               <!--在弹出之前必须隐藏掉-->
                visibility: hidden;

               <!--div内的字体如果发生了溢出,即超过了div的内容时不要回行-->
                overflow: hidden;
                border: 1px solid #CCC;
                background-color: #F9F9F9;
                border: 1px solid #333;
                padding: 5px;
            }
        </style>
    </head>

    <body>
        <a href="#" οnmοuseοver="showPopup(300,200);" >鼠标移入时</a><br />
        <a href="#" οnclick="showPopup(300,200);" >鼠标点击时</a><br />
        <div id="popupcontent">这是一个DIV弹窗效果!</div>
    </body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

庭博

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值