js 自定义弹窗方法

  突然觉得js 很有意思,由于工作需要,在同事小溪哥的帮助下实现了一个自定义弹窗的方法,在此留痕以供日后自勉.

  尔若有需要并不嫌代码丑陋,那就欢迎借鉴使用,当然,若有大虾看不过去请批评指正,在此鄙人先谢过了^.^!

 1 /**
 2  * by nacky.long
 3  * 创建自定义弹窗
 4  * @param param
 5  * 参数结构:
 6  param = {
 7             title:'提示',
 8             tips:"没有任何提示信息!",
 9             btnOk:'是',
10             btnNo:'否',
11             funcOk:function () {
12             },
13             funcNo:function () {
14             }
15         }
16  */
17 function createMessTipWin(param) {
18 
19     if (empty(param)) {
20         param = {
21             title:'友情提示',
22             tips:"没有任何提示信息!",
23             btnOk:'是',
24             btnNo:'否',
25             funcOk:function () {
26             },
27             funcNo:function () {
28             }
29         }
30     }
31 
32     var tipWinObj = document.createElement("DIV");
33     tipWinObj.id = uuid();
34     tipWinObj.style.cssText = "position:fixed;z-index:9999;width:300px; height:auto; overflow:hidden;background-color:white; border:solid 1px #231234;padding-bottom:10px;";
35     tipWinObj.style.top = '30%';
36     tipWinObj.style.left = '40%';
37 
38     var topDiv = document.createElement("DIV");
39     topDiv.style.cssText = "height;30px; line-height:30px; font-size:14px;background-color:#231234;color:white;";
40 
41     var titDiv = document.createElement("DIV");
42     titDiv.style.cssText = "float:left; width:80%;margin-left:5px;";
43     titDiv.innerHTML = param.title;
44 
45     var cross = document.createElement("DIV");
46     cross.style.cssText = "float:right; cursor:pointer;margin-right:5px;";
47     cross.innerHTML = 'X';
48 
49     var clearDiv = document.createElement("DIV");
50     clearDiv.style.cssText = "clear:both";
51 
52     var contentDiv = document.createElement("DIV");
53     contentDiv.style.cssText = "height:auto; overflow:hidden; line-height:24px;padding:0px 10px 10px;text-align:center;margin-top:10px;";
54     contentDiv.innerHTML = param.tips;
55 
56     var okBtn = document.createElement("BUTTON");
57     okBtn.style.cssText = "float:right; width:50px; margin-right:10px;cursor:pointer ";
58     okBtn.innerHTML = param.btnOk;
59 
60     var noBtn = document.createElement("BUTTON");
61     noBtn.style.cssText = "float:right; width:50px;cursor:pointer;margin-right: 10px;";
62     noBtn.innerHTML = param.btnNo;
63 
64     topDiv.appendChild(titDiv);
65     topDiv.appendChild(cross);
66     topDiv.appendChild(clearDiv);
67     tipWinObj.appendChild(topDiv);
68     tipWinObj.appendChild(contentDiv);
69 
70     tipWinObj.appendChild(noBtn);
71     tipWinObj.appendChild(okBtn);
72 
73     //获取当前页面的第一个body节点对象,
74     var body = document.getElementsByTagName("BODY")[0];
75     body.appendChild(tipWinObj);
76 
77     //鎖屏DIV
78     var bgObj = document.createElement("DIV");
79     bgObj.style.cssText = "position:fixed;z-index: 9997;top: 0px;left: 0px;background: #000000;filter: alpha(Opacity=30); -moz-opacity:0.30;opacity:0.30;";
80     bgObj.style.width = '100%';
81     bgObj.style.height = '120%';
82     body.appendChild(bgObj);
83 
84     cross.onclick = function () {
85         body.removeChild(tipWinObj);
86         body.removeChild(bgObj);
87     };
88     okBtn.onclick = function () {
89         param.funcOk();
90         body.removeChild(tipWinObj);
91         body.removeChild(bgObj);
92     };
93     noBtn.onclick = function () {
94         param.funcNo();
95         body.removeChild(tipWinObj);
96         body.removeChild(bgObj);
97     };
98 }

当然,使用前要构造参数了,

       var param = {
            title:'提示',
            tips:"你点点试试!",
            btnOk:'是',
            btnNo:'否',
            funcOk:function () {
                alert('真2')
            },
            funcNo:function () {
                alert(2)
            }
        }
        createMessTipWin(param);

 

 

 

转载于:https://www.cnblogs.com/nackman/archive/2013/01/19/js%e8%87%aa%e5%ae%9a%e4%b9%89%e5%bc%b9%e7%aa%97%e6%96%b9%e6%b3%95.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值