网站地图
首页
php教程
asp.net教程
手机开发
css教程
网页制作
办公数码
jsp教程
asp教程
ps教程
当前位置:
编程学习网
>>
办公数码
>
浏览器
> >
【仿腾讯弹出层效果兼容多浏览器】仿腾讯弹出层效果(兼容多浏览器)
【仿腾讯弹出层效果兼容多浏览器】仿腾讯弹出层效果(兼容多浏览器)
发布时间:2018-01-09
【www.gdgbn.com--浏览器】
提示:您可以先修改部分代码再运行
<script type="text/javascript"> function $(ele) { if (typeof(ele) == "string"){ ele = document.getElementById(ele) if(!ele){ return null; } } return ele; } function zOpenD(){ var diag = new Dialog("Diag1"); diag.Width = 900; diag.Height = 400; diag.Title = "弹出窗口示例"; diag.URL = "http://www.111cn.net/"; diag.ShowMessageRow = true; diag.MessageTitle = "弹出窗口示例"; diag.Message = "在这儿你可以对这个窗口的内容或功能作一些说明"; diag.OKEvent = zAlert;//点击确定后调用的方法 diag.show(); } function zOpen(){ var diag = new Dialog("Diag2"); diag.Width = 900; diag.Height = 400; diag.Title = "弹出窗口示例"; diag.URL = "http://www.111cn.net"; diag.OKEvent = zAlert;//点击确定后调用的方法 diag.show(); } function zAlert(){ Dialog.alert("10分钟完善简历 = 更好的企业 + 更高的收入
填写“求职意向” = 企业更容易找到您
完整的简历 = 企业通过了对你的第一步考核
简历完成度40%以上 = 您的简历在网站首页显示"); } function zConfirm(){ Dialog.confirm("警告:您确认要XXOO吗?",function(){Dialog.alert("yeah,周末到了,正是好时候");}); } var CONTEXTPATH = "images/";//图片路径配置 var isIE = navigator.userAgent.toLowerCase().indexOf("msie") != -1; var isGecko = navigator.userAgent.toLowerCase().indexOf("gecko") != -1; function $(ele) { if (typeof(ele) == "string"){ ele = document.getElementById(ele) if(!ele){ return null; } } if(ele){ Core.attachMethod(ele); } return ele; } function $T(tagName,ele){ ele = $(ele); ele = ele || document; var ts = ele.getElementsByTagName(tagName);//此处返回的不是数组 var arr = []; var len = ts.length; for(var i=0;i
浏览器默认的事件 event = window.event||event; if(!event){ return; } if(isGecko){ event.preventDefault(); event.stopPropagation(); } event.cancelBubble = true event.returnValue = false; } Array.prototype.remove = function(s){ for(var i=0;i
"+this.innerHTML+""+this.tagName+">"; }); HTMLElement.prototype.__defineSetter__("innerText",function(sText){ var parsedText=document.createTextNode(sText); this.innerHTML=parsedText; return parsedText; }); HTMLElement.prototype.__defineGetter__("innerText",function(){ var r=this.ownerDocument.createRange(); r.selectNodeContents(this); return r.toString(); }); } var $E = {}; $E.getTopLevelWindow = function(){ var pw = window; while(pw!=pw.parent){ pw = pw.parent; } return pw; } $E.hide = function(ele) { ele = ele || this; ele = $(ele); ele.style.display = "none"; } $E.show = function(ele) { ele = ele || this; ele = $(ele); ele.style.display = ""; } var Core = {}; Core.attachMethod = function(ele){ if(!ele||ele["$A"]){ return; } if(ele.nodeType==9){ return; } var win; try{ if(isGecko){ win = ele.ownerDocument.defaultView; }else{ win = ele.ownerDocument.parentWindow; } for(var prop in $E){ ele[prop] = win.$E[prop]; } }catch(ex){ //alert("Core.attachMethod:"+ele)//有些对象不能附加属性,如flash } } function Dialog(strID){ if(!strID){ alert("错误的Dialog ID!"); return; } this.ID = strID; this.isModal = true; this.Width = 600; this.Height = 300; this.Top = 0; this.Left = 0; this.ParentWindow = null; this.onLoad = null; this.Window = null; this.Title = ""; this.URL = null; this.DialogArguments = {}; this.WindowFlag = false; this.Message = null; this.MessageTitle = null; this.ShowMessageRow = false; this.ShowButtonRow = true; this.Icon = null; this.bgdivID=null; } Dialog._Array = []; Dialog.prototype.showWindow = function(){ if(isIE){ this.ParentWindow.showModalessDialog( this.URL, this.DialogArguments, "dialogWidth:" + this.Width + ";dialogHeight:" + this.Height + ";help:no;scroll:no;status:no") ; } if(isGecko){ var sOption = "location=no,menubar=no,status=no;toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=no"; this.Window = this.ParentWindow.open( "", this.URL, sOption, true ) ; var w = this.Window; if ( !w ){ alert( "发现弹出窗口被阻止,请更改
浏览器
设置,以便正常使用本功能!" ) ; return ; } w.moveTo( this.Left, this.Top ) ; w.resizeTo( this.Width, this.Height+30 ) ; w.focus() ; w.location.href = this.URL ; w.Parent = this.ParentWindow; w.dialogArguments = this.DialogArguments; } } Dialog.prototype.show = function(){ var pw = $E.getTopLevelWindow(); var doc = pw.document; var cw = doc.compatMode == "BackCompat"?doc.body.clientWidth:doc.documentElement.clientWidth; var ch = doc.compatMode == "BackCompat"?doc.body.clientHeight:doc.documentElement.clientHeight;//必须考虑文本框处于页面边缘处,控件显示不全的问题 var sl = Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft); var st = Math.max(doc.documentElement.scrollTop, doc.body.scrollTop);//考虑滚动的情况 var sw = Math.max(doc.documentElement.scrollWidth, doc.body.scrollWidth); var sh = Math.max(doc.documentElement.scrollHeight, doc.body.scrollHeight);//考虑滚动的情况 sw=Math.max(sw,cw); sh=Math.max(sh,ch); // alert("n"+cw+"n"+ch+"n"+sw+"n"+sh) if ( !this.ParentWindow ){ this.ParentWindow = window ; } this.DialogArguments._DialogInstance = this; this.DialogArguments.ID = this.ID; if(!this.Height){ this.Height = this.Width/2; } if(this.Top==0){ this.Top = (ch - this.Height - 30) / 2 + st - 8; } if(this.Left==0){ this.Left = (cw - this.Width - 12) / 2 +sl; } if(this.ShowButtonRow){//按钮行高36 this.Top -= 18; } if(this.WindowFlag){ this.showWindow(); return; } var arr = []; arr.push(""); arr.push(" "); arr.push(" "); arr.push("
"+this.Title+""); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); arr.push("
"); arr.push(" "); arr.push("
"); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); arr.push("
"); arr.push("
"); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); arr.push(" "); this.TopWindow = pw; var bgdiv = pw.$("_DialogBGDiv"); if(!bgdiv){ bgdiv = pw.document.createElement("div"); bgdiv.id = "_DialogBGDiv"; $E.hide(bgdiv); pw.$T("body")[0].appendChild(bgdiv); } var div = pw.$("_DialogDiv_"+this.ID); if(!div){ div = pw.document.createElement("div"); $E.hide(div); div.id = "_DialogDiv_"+this.ID; div.className = "dialogdiv"; div.setAttribute("dragStart","Dialog.dragStart"); pw.$T("body")[0].appendChild(div); } /*div.onmousedown = function(evt){ var w = $E.getTopLevelWindow(); //w.DragManager.onMouseDown(evt||w.event,this);//拖拽处理 }*/ this.DialogDiv = div; div.innerHTML = arr.join("n"); pw.$("_DialogFrame_"+this.ID).DialogInstance = this; this.OKButton = pw.$("_ButtonOK_"+this.ID); this.CancelButton = pw.$("_ButtonCancel_"+this.ID); //显示标题图片 if(this.ShowMessageRow){ $E.show(pw.$("_MessageRow_"+this.ID)); if(this.MessageTitle){ pw.$("_MessageTitle_"+this.ID).innerHTML = this.MessageTitle; } if(this.Message){ pw.$("_Message_"+this.ID).innerHTML = this.Message; } } //显示按钮栏 if(!this.ShowButtonRow){ pw.$("_ButtonRow_"+this.ID).hide(); } if(this.CancelEvent){ this.CancelButton.onclick = this.CancelEvent; } if(this.OKEvent){ this.OKButton.onclick = this.OKEvent; } if(!this.AlertFlag){ $E.show(bgdiv); this.bgdivID = "_DialogBGDiv"; }else{ bgdiv = pw.$("_AlertBGDiv"); if(!bgdiv){ bgdiv = pw.document.createElement("div"); bgdiv.id = "_AlertBGDiv"; $E.hide(bgdiv); pw.$T("body")[0].appendChild(bgdiv); bgdiv.style.cssText = "background-color:#333;position:absolute;left:0px;top:0px;opacity:0.4;filter:alpha(opacity=40);width:" + sw + "px;height:" + sh + "px;z-index:991"; } $E.show(bgdiv); this.bgdivID = "_AlertBGDiv"; } this.DialogDiv.style.cssText = "position:absolute; display:block;z-index:"+(this.AlertFlag?992:990)+";left:"+this.Left+"px;top:"+this.Top+"px"; //判断当前窗口是否是对话框,如果是,则将其置在bgdiv之后 if(!this.AlertFlag){ var win = window; var flag = false; while(win!=win.parent){//需要考虑父窗口是弹出窗口中的一个iframe的情况 if(win._DialogInstance){ win._DialogInstance.DialogDiv.style.zIndex = 959; flag = true; break; } win = win.parent; } if(!flag){ bgdiv.style.cssText = "background-color:#333;position:absolute;left:0px;top:0px;opacity:0.4;filter:alpha(opacity=40);width:" + sw + "px;height:" + sh + "px;z-index:960"; } } this.OKButton.focus(); //放入队列中,以便于ESC时正确关闭 pw.Dialog._Array.push(this.ID); } Dialog.prototype.addParam = function(paramName,paramValue){ this.DialogArguments[paramName] = paramValue; } Dialog.prototype.close = function(){ if(this.WindowFlag){ this.ParentWindow.$D = null; this.ParentWindow.$DW = null; this.Window.opener = null; this.Window.close(); this.Window = null; }else{ //如果上级窗口是对话框,则将其置于bgdiv前 var pw = $E.getTopLevelWindow(); var win = window; var flag = false; while(win!=win.parent){ if(win._DialogInstance){ flag = true; win._DialogInstance.DialogDiv.style.zIndex = 960; break; } win = win.parent; } if(this.AlertFlag){ $E.hide(pw.$("_AlertBGDiv")); } if(!flag&&!this.AlertFlag){//此处是为处理弹出窗口被关闭后iframe立即被重定向时背景层不消失的问题 pw.eval("window._OpacityFunc = function(){var w = $E.getTopLevelWindow();$E.hide(w.$("_DialogBGDiv"));}"); pw._OpacityFunc(); } this.DialogDiv.outerHTML = ""; pw.Dialog._Array.remove(this.ID); } } Dialog.prototype.addButton = function(id,txt,func){ var html = "
"; var pw = $E.getTopLevelWindow(); pw.$("_DialogButtons_"+this.ID).$T("input")[0].getParent("a").insertAdjacentHTML("beforeBegin",html); pw.$("_Button_"+this.ID+"_"+id).onclick = func; } Dialog.close = function(evt){ window.Args._DialogInstance.close(); } Dialog.getInstance = function(id){ var pw = $E.getTopLevelWindow() var f = pw.$("_DialogFrame_"+id); if(!f){ return null; } return f.DialogInstance; } Dialog.AlertNo = 0; Dialog.alert = function(msg,func,w,h){ var pw = $E.getTopLevelWindow() var diag = new Dialog("_DialogAlert"+Dialog.AlertNo++); diag.ParentWindow = pw; diag.Width = w?w:350; diag.Height = h?h:120; diag.Title = "系统提示"; diag.URL = "javascript:void(0);"; diag.AlertFlag = true; diag.CancelEvent = function(){ diag.close(); if(func){ func(); } }; diag.show(); pw.$("_AlertBGDiv").style.display=""; $E.hide(pw.$("_ButtonOK_"+diag.ID)); var win = pw.$("_DialogFrame_"+diag.ID).contentWindow; var doc = win.document; doc.open(); doc.write("") ; var arr = []; arr.push(""); arr.push("
"); arr.push(""+msg+""); var div = doc.createElement("div"); div.innerHTML = arr.join(""); doc.body.appendChild(div); doc.close(); var h = Math.max(doc.documentElement.scrollHeight, doc.body.scrollHeight); var w = Math.max(doc.documentElement.scrollWidth, doc.body.scrollWidth); if(w>300){ win.frameElement.width = w; } if(h>120){ win.frameElement.height = h; } diag.CancelButton.value = "确 定"; diag.CancelButton.focus(); pw.$("_DialogButtons_"+diag.ID).style.textAlign = "center"; } Dialog.confirm = function(msg,func1,func2,w,h){ var pw = $E.getTopLevelWindow() var diag = new Dialog("_DialogAlert"+Dialog.AlertNo++); diag.Width = w?w:300; diag.Height = h?h:120; diag.Title = "信息确认"; diag.URL = "javascript:void(0);"; diag.AlertFlag = true; diag.CancelEvent = function(){ diag.close(); if(func2){ func2(); } }; diag.OKEvent = function(){ diag.close(); if(func1){ func1(); } }; diag.show(); pw.$("_AlertBGDiv").style.dispaly=""; var win = pw.$("_DialogFrame_"+diag.ID).contentWindow; var doc = win.document; doc.open(); doc.write("") ; var arr = []; arr.push(""); arr.push("
"); arr.push(""+msg+""); var div = doc.createElement("div"); div.innerHTML = arr.join(""); doc.body.appendChild(div); doc.close(); diag.OKButton.focus(); pw.$("_DialogButtons_"+diag.ID).style.textAlign = "center"; } var _DialogInstance = window.frameElement?window.frameElement.DialogInstance:null; var Page={}; Page.onDialogLoad = function(){ if(_DialogInstance){ if(_DialogInstance.Title){ document.title = _DialogInstance.Title; } window.Args = _DialogInstance.DialogArguments; _DialogInstance.Window = window; window.Parent = _DialogInstance.ParentWindow; } } Page.onDialogLoad(); PageOnLoad=function (){ var d = _DialogInstance; if(d){ try{ d.ParentWindow.$D = d; d.ParentWindow.$DW = d.Window; var flag = false; if(!this.AlertFlag){ var win = d.ParentWindow; while(win!=win.parent){ if(win._DialogInstance){ flag = true; break; } win = win.parent; } if(!flag){ $E.getTopLevelWindow().$("_DialogBGDiv").style.opacity="0"; $E.getTopLevelWindow().$("_DialogBGDiv").style.filter="alpha(opacity=0)"; } } if(d.AlertFlag){ $E.show($E.getTopLevelWindow().$("_AlertBGDiv")); } if(d.ShowButtonRow&&$E.visible(d.CancelButton)){ d.CancelButton.focus(); } if(d.onLoad){ d.onLoad(); } }catch(ex){alert("DialogOnLoad:"+ex.message+"t("+ex.fileName+" "+ex.lineNumber+")");} } } Dialog.onKeyUp = function(event){ if(event.keyCode==9){ var pw = $E.getTopLevelWindow(); if(pw.Dialog._Array.length>0){ stopEvent(event); } } if(event.keyCode==27){ var pw = $E.getTopLevelWindow(); if(pw.Dialog._Array.length>0){ //Page.mousedown(); //Page.click(); var diag = pw.Dialog.getInstance(pw.Dialog._Array[pw.Dialog._Array.length-1]); diag.CancelButton.onclick.apply(diag.CancelButton,[]); } } } Dialog.dragStart = function(evt){ //DragManager.doDrag(evt,this.getParent("div"));//拖拽处理 } Dialog.setPosition=function(){ if(window.parent!=window)return; var pw = $E.getTopLevelWindow(); var DialogArr=pw.Dialog._Array; if(DialogArr==null||DialogArr.length==0)return; for(i=0;i
提示:您可以先修改部分代码再运行
本文来源:
http://www.gdgbn.com/bangongshuma/21005/
上一篇:
【js浏览器兼容】js兼容多钟浏览tab切换代码
下一篇:
[json]js 兼容ie6,7,8浏览器漂亮柱状统计图
相关推荐
js下雪效果代码|js下雪效果代码
【js文字跟随鼠标移动】js文字跟随鼠标转动效果
[js倒计时]js倒影字特效代码
【susie怎么读】susie风格非主流个性美女照片
qq空间登录_qq空间鼠标跟随图片代码
美女个性照片图片|个性美女非主流图片
2009结婚_2009 非主流秀气美女图片专辑
非主流刺青美女图片|非主流美女图片-孤单的回忆
如何把照片做成视频|如何把照片做成漂亮非主流唯美效果
[ps如何制作个性非主流图片大全]PS如何制作个性非主流图片效果
网友关注
【非主流图片 美女 霸气】非主流美女照片专辑
[网页特效代码]网页特效单击链接显示菜单
jquery提交表单前检验_jquery检验用户密码输入合法性程序
【ps如何给照片加上文字】PS如何给照片加上唇红和眼影教程
【js浏览器兼容】js兼容多钟浏览tab切换代码
[免费个人简历模板下载]免费个人主页空间110mb/php/mysql/15G
会向上滚动的纸筒|带链接向上滚动字幕代码
js根据id获取值_js根据中英验证用户名提示
【ps制作立体相册效果图】ps制作立体相册效果照片
[js城市地区二级联动插件]js城市地区二级联动菜单
热门标签
最新浏览器
浏览器
phpstudy_php cookies 删除,赋值方法
浏览器
ie60|IE6究竟支不支持!important分析
浏览器
简单的可行性报告 范文_简单的可见即所得的CSS编辑器
浏览器
[css超出部分省略号]css dispay:inline-block在不同浏览器用法分析
浏览器
[ie60]ie6 position约对定位错位解决办法
浏览器
css超出部分省略号|css IE6 position:fixed (固定定位)通过position:absolute的解决方案
浏览器
css圆角背景与三角形|CSS圆角背景与三角形实现技巧
浏览器
javascript学习指南|javascript 浏览器类型及版本信息检测代码
浏览器
利用病毒|利用bindEvent() unBindEvent()检测用户浏览器类型
浏览器
将百度设为首页桌面|设为首页与添加收藏夹代码【兼容多浏览器】
浏览器热门文章
浏览器
[json]js 兼容ie6,7,8浏览器漂亮柱状统计图
浏览器
兼容ie6|兼容ie6,ie7,firfox的文字不间断向上滚动特效代码
浏览器
js判断浏览器类型|js检测用户浏览器类型
浏览器
[google 翻译]Google Analytics 的事件跟踪开始支持自定义字段
浏览器
[浏览器兼容性问题 js]js获取浏览器相关信息
浏览器
[js限制同一浏览器下只能打开网页]js限制同一浏览器下只能打开同一网站一页面
浏览器
[google 翻译]Google AdSense的六个优化技巧与被封原因分析
浏览器
json_js 浏览器环境检查代码
浏览器
phpstudy|php 模拟 post与浏览器请求数据
浏览器
【怎么对一个网站进行优化】网站优化的好处是什么
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
Copyright©2006-2019 编程学习网 www.gdgbn.com 版权所有