半成品:可继续扩展改进的弹出层对话框 -- DIV窗口
来源:互联网 发布:淘宝水果店铺简介范文 编辑:程序博客网 时间:2024/06/06 01:38
闲话不说,直接代码了。兼容IE8、火狐、谷歌。
//1、打开窗口 function showDialog(url) { var width = 400; var height = 300; var dsh = document.documentElement.scrollHeight; var dch = document.documentElement.clientHeight; var dsw = document.documentElement.scrollWidth; var dcw = document.documentElement.clientWidth; var bdh = (dsh > dch) ? dsh : dch; var bdw = (dsw > dcw) ? dsw : dcw; //--------------------------------------------------------------------------------遮罩层 var maskDiv = document.createElement("div"); maskDiv.setAttribute("id","maskDiv"); maskDiv.style.left = "0px"; maskDiv.style.top = "0px"; maskDiv.style.width = "100%"; maskDiv.style.height = "100%"; maskDiv.style.position = "absolute"; maskDiv.style.zIndex = "1000"; maskDiv.style.backgroundColor = "#000000"; maskDiv.style.opacity = "0.5"; maskDiv.style.filter = "alpha(opacity=50)"; document.body.appendChild(maskDiv); //--------------------------------------------------------------------------------窗口主容器 var dialogContainer = document.createElement("div"); dialogContainer.setAttribute("id","dialogContainer"); //maskDiv.appendChild(dialogContainer); document.body.appendChild(dialogContainer); var container = document.getElementById("dialogContainer"); container.style.zIndex = "2001"; container.style.left = (bdw - width) / 2 + "px"; container.style.top = (bdh - height) / 2 + "px"; container.style.width = width + "px"; container.style.height = height + "px"; container.style.position = "absolute"; container.style.backgroundColor = "#F0EEEE"; container.style.border = "1px"; container.style.borderStyle = "solid"; container.style.borderColor = "#696969"; container.style.overflow = "hidden"; //--------------------------------------------------------------------------------Header var dialogHeadBar = document.createElement("div"); dialogHeadBar.setAttribute("id","dialogHeadBar"); dialogContainer.appendChild(dialogHeadBar); var headBar = document.getElementById("dialogHeadBar"); headBar.style.width = width - 4 + "px"; headBar.style.height = "20px"; headBar.style.padding = "2px"; headBar.style.fontSize = "11px"; headBar.style.cursor = "pointer"; //headBar.onmousedown = startDrag; //放开既可拖动 var barTitle = document.createElement("div"); barTitle.setAttribute("id","barTitle"); barTitle.innerHTML = "我的标题"; barTitle.style.cssFloat = "left"; barTitle.style.styleFloat = "left"; dialogHeadBar.appendChild(barTitle); var closeArea = document.createElement("div"); closeArea.setAttribute("id","closeArea"); closeArea.innerHTML = "关闭"; closeArea.style.cursor = "pointer"; closeArea.style.cssFloat = "right"; closeArea.style.styleFloat = "right"; closeArea.onclick = closeDialog; dialogHeadBar.appendChild(closeArea); //--------------------------------------------------------------------------------Iframe var dialogIframe = document.createElement("iframe"); dialogIframe.setAttribute("id","dialogIframe"); dialogIframe.setAttribute("frameborder","0", 1); dialogContainer.appendChild(dialogIframe); var dialogSrcIframe = document.getElementById("dialogIframe");//myIframe dialogSrcIframe.src = url; dialogSrcIframe.height = height - 50 + "px"; dialogSrcIframe.width = width + "px"; dialogSrcIframe.marginHeight = "0px"; //Pixels 上下空出的高度 dialogSrcIframe.marginWidth = "0px"; //Pixels 左右空出宽度 //dialogSrcIframe.frameBorder = "0"; //是否显示边框(0无边框 1有边框) dialogSrcIframe.scrolling = "yes"; //[ yes | no | auto ] 流动条(yes强制显示|no永不显示|auto自动) dialogSrcIframe.allowtransparency = "yes"; //背景是否透明(yes透明 no不透明) //--------------------------------------------------------------------------------Footer var dialogFootBar = document.createElement("div"); dialogFootBar.setAttribute("id","dialogFootBar"); dialogContainer.appendChild(dialogFootBar); var footBar = document.getElementById("dialogFootBar"); footBar.style.width = width + "px"; footBar.style.height = "30px"; footBar.style.padding = "2px"; footBar.style.fontSize = "11px"; } //2、关闭窗口 function closeDialog() { var maskDiv = document.getElementById("maskDiv"); var dialogContainer = document.getElementById("dialogContainer"); if(maskDiv) { //dialog.style.display = "none"; document.body.removeChild(maskDiv); document.body.removeChild(dialogContainer); } } //3、拖动窗口 function startDrag() { var obj = document.getElementById('dialogContainer'); rDrag.init(obj); } var rDrag = { o:null, init:function(o){ o.onmousedown = this.start; }, start:function(e){ var o; e = rDrag.fixEvent(e); e.preventDefault && e.preventDefault(); rDrag.o = o = this; o.x = e.clientX - rDrag.o.offsetLeft; o.y = e.clientY - rDrag.o.offsetTop; document.onmousemove = rDrag.move; document.onmouseup = rDrag.end; }, move:function(e){ e = rDrag.fixEvent(e); var oLeft,oTop; oLeft = e.clientX - rDrag.o.x; oTop = e.clientY - rDrag.o.y; rDrag.o.style.left = oLeft + 'px'; rDrag.o.style.top = oTop + 'px'; }, end:function(e){ e = rDrag.fixEvent(e); rDrag.o = document.onmousemove = document.onmouseup = null; }, fixEvent: function(e){ if (!e) { e = window.event; e.target = e.srcElement; e.layerX = e.offsetX; e.layerY = e.offsetY; } return e; } }
希望对您有帮助。O(∩_∩)O~
改进版:半成品:可继续扩展改进的弹出层对话框(2) - DIV窗口
- 半成品:可继续扩展改进的弹出层对话框 -- DIV窗口
- 半成品:可继续扩展改进的弹出层对话框(2) - DIV窗口
- 弹出div层窗口
- 可拖动的div弹出层
- div弹出窗口可拖动
- div弹出窗口可拖动
- div弹出窗口可拖动
- div弹出窗口可拖动
- DIY的JS弹出层弹出对话框弹出页面弹出窗口的插件
- jquery 的 thickbox 弹出可拖动的div层
- 带遮罩的div弹出层demo(可多层)
- 页面弹出可拖动的模式窗口层
- 可扩展的对话框
- 可扩展的对话框
- jquery ui dialog弹出div层对话框
- frameset顶级窗口弹出对话框层
- 弹出可拖动提示层(模式窗口)
- JS实现弹出可移动的层,窗口,提示框(可自定弹出层的标题和内容)
- 提问的艺术(中文版)
- Button上显示图片
- cp -f aaa ./aaa 怎么还提醒是否覆盖
- 3G网络简述
- 使用Project客户端和Project Server进行项目管理
- 半成品:可继续扩展改进的弹出层对话框 -- DIV窗口
- Sicily 2011. Nine Digits
- 关于bundle id的一些说法
- VC CString 字符串处理函数的应用
- Cordova(PhoneGap) v1.3 为 Windows Phone 带来更佳的跨平台 App 开发环境
- xmemcached-yanf4j类图(三)
- MYSQL配置之开启mysql远程连接
- IOS开发缓存机制之—内存缓存机制
- oracle listener 服务启动不了 的解决方案一