|
昨天中午做项目需要一个模态窗口,想起上一个公司的项目经理曾经做过一个比较牛的模态窗口,至今没用搞清楚实现原理,平时也没有时间去分析,试着自己做了一个,用了一天的时间终于完成了,给大家一起分享, 也希望高手多提意见。第一次在博客园上发文章,挺高兴的。
没什么好说的,都是js,用一个iframe将页面遮挡,iframe上面一个div层,js面向对象做的,其中有部分是js动态生成style。 ModeWindow.js 复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Untitled Page</title> <script src="ModeWindow.js"></script> <script language="javascript" type="text/javascript"> var myWin; function show1(){ var divtest = document.getElementById("divtest"); divtest.style.display="block"; myWin = new ModeWindow(divtest,200,300,300,100,"i change!"); myWin.show(); } function show2(){ var tbtest = document.getElementById("tbtest"); tbtest.style.display="block"; //myWin = new ModeWindow(tbtest); myWin = new ModeWindow(tbtest,200,200,200,222,"hello world!"); myWin.show(); } function Winclose() { myWin.close(); } </script> </head> <body> <form id="form1" runat="server"> <table id="tbtest" style="display: none"> <tr> <td style="width: 100px"> <input id="Text6" type="text" /></td> <td style="width: 100px"> <input type="button" onclick="Winclose()" value="close" /></td> </tr> </table> <div id="divtest" style="display: none"> <br /> <br /> 我来了!<input type="button" onclick="Winclose()" value="close" /> </div> <div align="center"> <table width="800" height="500"> <tr> <td style="width: 100px"> <input id="Text2" type="text" /></td> <td style="width: 100px"> <input id="Text1" type="text" /></td> <td style="width: 100px"> <input id="Text3" type="text" /></td> <td style="width: 100px"> <input id="Text4" type="text" /></td> <td style="width: 100px"> <input id="Text5" type="text" /></td> </tr> <tr> <td style="width: 100px"> <input type="button" onclick="show2()" value="open table" /></td> <td style="width: 100px"> <input type="button" onclick="show2()" value="open table" /></td> <td style="width: 100px"> <input type="button" onclick="show2()" value="open table" /></td> <td style="width: 100px"> <input type="button" onclick="show1()" value="open div" /></td> <td style="width: 100px"> <input type="button" onclick="show1()" value="open div" /></td> </tr> </table> </div> </form> </body> </html>
在线演示 http://img.jb51.net/online/ModeWindow/index.htm |
|