网页特效
建站首页
|
广告代码
|
源码下载
|
站长工具
|
字体下载
|
网页模板
|
收藏本站
|
设为首页
网站首页
菜单导航
日期时间
背景图像
图层样式
鼠标键盘
页面窗口
色彩表格
链接文字
表单按钮
计数转换
游戏娱乐
综合实例
特效
热门搜索:
特效代码
js脚本
导航菜单
热点推荐:
英文字体
人民币汇率
dw插件
站长常用软件
alexa排名查询
您的位置:
网页特效
->
页面窗口
-> js通过封装div方式弹出div窗体
js通过封装div方式弹出div窗体
作者:admin 发布时间:2009-11-4 7:46:53 发布人: admin
<!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>js通过封装div方式弹出div窗体</title> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"/> <style type="text/css"> .mask{position: absolute; top: 0px; left: 0px; filter: alpha(opacity=50); -moz-opacity:0.5; opacity:0.5; background-color: #ffffff; z-index: 2; display: none;} /* 弹出基本资料div */ div.sample_popup {height:auto; border: 1px solid #327eca; width: 300px; } div.menu_form_header{ background: url('/web/20150322055605im_/http://myjs.jz123.cn/js/images/baseInfo/titleBG.gif') repeat-x; } div.sample_popup div.menu_form_header { border-bottom: 0px; cursor: default; width:100%; height: 22px; line-height: 22px; vertical-align: middle; text-decoration: none; font-family: "Times New Roman", Serif; font-weight: 800; font-size: 13px; color: #206040; } div.menu_form_body { width:100%; height:150px; font-size:12px; background-color:#f1f8fe; } div.sample_popup input.menu_form_exit { float: right; margin: 4px 5px 0px 0px; cursor: pointer; } /*end: 弹出商品信息div */ </style> <script type="text/javascript"> /************************************************** * DivWindow.js **************************************************/ var DivWindow= function(popup/*最外层div id*/,popup_drag/*拖动div id*/,popup_exit/*退出按钮id*/ ,exitButton/*触发服务器端退出按钮id*/,varwidth,varheight,zindex){ this.popup =popup ; //窗口名称 this.popup_drag=popup_drag; this.height =varheight ; //窗口高度,并没用来设置窗口高度宽度,用来定位在屏幕的位置 this.width =varwidth ; //窗口宽度 this.popup_exit=popup_exit; this.exitButton=exitButton; this.zindex=zindex; this.init = function(){ //初始化窗口 this.popupShow(); this.startDrag(); //设置拖动 this.setCommond(); //设置关闭 DivWindow.ArrayW.push(document.getElementById(this.popup)); //存储窗口到数组 };this.init(); }; //存储窗口到数组 DivWindow.ArrayW = new Array(); //字符串连接类 DivWindow.StringBuild = function(){ this.arr = new Array(); this.push = function(str){ this.arr.push(str); }; this.toString = function(){ return this.arr.join(""); }; }; //拖动类 DivWindow.Drag = function(o ,oRoot){ var _self = this; //拖动对象 this.obj = (typeof oRoot != "undefined") ?oRoot : o; this.relLeft = 0; //记录横坐标 this.relTop = 0; //记录纵坐标 o.onselectstart = function(){ return false; }; o.onmousedown = function(e){ //鼠标按下 e = _self.fixE(e); _self.relLeft = e.clientX - _self.fixU(_self.obj.style.left); _self.relTop = e.clientY - _self.fixU(_self.obj.style.top); document.onmousemove = function(e){ _self.drag(e); //_self.obj.style.border = "1px dashed #000000"; //_self.obj.style.filter = "alpha(opacity=30)"; //_self.obj.style.opacity = "0.3"; }; document.onmouseup = function(){ _self.end(); //_self.obj.style.border = "1px solid #cccccc"; //_self.obj.style.borderBottom = "2px solid #E0E0E0"; //_self.obj.style.borderRight = "2px solid #E0E0E0"; //_self.obj.style.filter = "alpha(opacity=100)"; //_self.obj.style.opacity = "1"; }; }; this.drag = function(e){ //拖动 e = this.fixE(e); var l = e.clientX - this.relLeft; var t = e.clientY - this.relTop; if (t < 0) { t = 0; //防止头部消失 } this.obj.style.left = l +"px"; this.obj.style.top = t +"px"; }; this.end = function(){ //结束拖动 document.onmousemove = null; document.onmouseup = null; }; this.fixE = function(e){ //修复事件 if (typeof e == "undefined") e = window.event; return e; }; this.fixU = function(u){ //处理px单位 return parseInt(u.split("p")[0]); }; }; //窗口拖动 DivWindow.prototype.startDrag = function(){ var obj = document.getElementById(this.popup); var drag = document.getElementById(this.popup_drag); new DivWindow.Drag(drag,obj); }; //设定窗口优先级 DivWindow.prototype.setTop = function(){ document.getElementById(this.popup).onclick = document.getElementById(this.popup).onmousedown = function(){ for(var i=0;i<DivWindow.ArrayW.length;i++) { DivWindow.ArrayW[i].style.zIndex = 1; } this.style.zIndex = 100; }; }; //显示 DivWindow.prototype.popupShow=function() { document.getElementById('mask').style.display="block"; document.getElementById('mask').style.width=window.screen.width +20; document.getElementById('mask').style.height=window.screen.width +20; var element = document.getElementById(this.popup); element.style.position = "absolute"; element.style.visibility = "visible"; element.style.display = "block"; element.style.width=this.width; element.style.height='auto'; element.style.left = (window.screen.width - this.width)/2+"px"; //element.style.top =(window.screen.height-this.height-100)/2+"px"; element.style.top =20+"px"; element.style.zIndex=this.zindex; } //设置关闭 DivWindow.prototype.setCommond = function(){ var _self = this; //根对象 var obj = document.getElementById(this.popup); var exit = document.getElementById(this.popup_exit); var triggServerEvent=document.getElementById(this.exitButton); //设置关闭 exit.onclick = function(){ obj.style.display = "none"; obj.style.visibility = 'hidden'; document.all.mask.style.display='none'//关闭遮罩层 triggServerEvent.click();//触发服务器端退出事件 }; }; </script> </head> <body> <div> <input type="button" id="show" onclick="javascript:new DivWindow('popup','popup_drag','popup_exit','exitButton','500','700',4);" value="点击弹出窗口"/> <input type="button" id="exitButton" value="aaaa"/> </div> <div id="mask" class="mask"> </div> <div class="sample_popup" id="popup" style="visibility: hidden; display: none;"> <div class="menu_form_header" id="popup_drag"> <input type="button" id="popup_exit" value="退出"/> 站长工具:<a href="http://web.archive.org/web/20150322055605/http://www.zzgjj.com.cn/">www.zzgjj.com.cn</a> </div> <div class="menu_form_body"> <div id="popDetail"> 片区名称:<input type="button" id="Button1" onclick="javascript:new DivWindow('Div1','Div2','exit2','exitButton','500','700',5);" value="再次点击触发"/> <br/> </div> </div> </div> <div class="sample_popup" id="Div1" style="visibility: hidden; display: none;"> <div class="menu_form_header" id="Div2"> <input type="button" id="exit2" value="退出"/> </div> <div class="menu_form_body"> <div id="Div3"> C++学习网:<a href="http://web.archive.org/web/20150322055605/http://www.zzgjj.com.cn/">站长工具</a><br/>温馨提示,这个窗口可以拖动 </div> </div> </div> </body> </html>
js通过封装div方式弹出div窗体
将本文收藏到QQ书签与更多好友分享
上一篇:文章:
鼠标拖拽实现翻页
下一篇:文章:
纯css下拉菜单
本类浏览排行 »
搜索页面中的内容
又一款综合搜索引擎代码
标题栏显示当前时间
倒影效果的电子表,显示当前时间
自动记录当前页面最新的更新日期
JS让网页每隔2秒弹出一次对话框
一款超酷的CSS列表排行榜
鼠标悬停放大的纯CSS分页效果
本站推荐文章 »
垂直三栏自适应等高布局
仿QQ消息管理器的文本内容样式
支付宝的控制台动画效果菜单
文字、图片拖曳移动
可拉伸移动的DIV层效果
很酷的图片伸缩放大功能
较好的视觉效果的网页选项卡
CSS实例:通过定义渐变边框给图片加阴影