"; var _p = self.dialog.getElementsByTagName('p')[0]; if(self.confirm) _p.lastChild.style.display='inline-block'; addEvent(_p.getElementsByTagName('a')[0],'click',function(){ self.close(); if(self.confirm)eval(self.confirm+'()'); }); addEvent(_p.getElementsByTagName('a')[1],'click',function(){ self.close(); }); addEvent(self.dialog.getElementsByTagName('a')[0],'click',function(){ self.close(); }); } switch(self.pos){ case 'left-top': l=0; t=0; break; case 'left-bottom': l=0; t=c_height-parseInt(getSize(self.dialog).height); break; case 'right-top': l=document.body.clientWidth-parseInt(getSize(self.dialog).width); t=0; break; case 'right-bottom': l=document.body.clientWidth-parseInt(getSize(self.dialog).width); t=c_height-parseInt(getSize(self.dialog).height); break; default: l=(document.body.clientWidth-parseInt(getSize(self.dialog).width))/2; t=(c_height-parseInt(getSize(self.dialog).height))/2; } self.dialog.style.left=l+'px'; self.dialog.style.top=t+'px'; if(!window.XMLHttpRequest){ var body,clone,cover = self.cover; var iframe = ''; self.dialog.style.position = 'absolute'; try{ document.execCommand("BackgroundImageCache", false, true); }catch(e){} (function(){ body = document.body; if (body.currentStyle.backgroundAttachment !== "fixed") { if (body.parentNode.currentStyle.backgroundImage === "none") { body.parentNode.runtimeStyle.backgroundRepeat = "no-repeat"; body.parentNode.runtimeStyle.backgroundImage = "url(about:blank)"; } body.style.height='100%'; } self.layer = document.createElement(""); })(); clone=self.dialog.cloneNode(true); document.body.removeChild(self.dialog); self.layer.appendChild(clone); self.dialog=clone; if(self.layer.parentNode!== body ) body.insertBefore(self.layer, body.childNodes[0]); //self.dialog.innerHTML += iframe; cover.innerHTML = iframe; cover.style.cssText='position:absolute;left:expression((document).documentElement.scrollLeft);top:expression((document).documentElement.scrollTop);width:expression((document).documentElement.clientWidth);height:expression((document).documentElement.clientHeight);'; } } d_log.prototype.open=function(){ if(this.layer) this.layer.style.display='block'; this.dialog.style.display='block'; if(!this.wraphide) this.cover.style.display='block'; } d_log.prototype.close=function(){ if(this.layer) this.layer.style.display='none'; this.dialog.style.display='none'; this.cover.style.display='none'; } function getSize(elem) {//获取元素的宽高,包括隐藏元素的 var width = elem.offsetWidth, height = elem.offsetHeight; if ( !width && !height ) { var style = elem.style; var cssShow ="position:absolute;visibility:hidden;display:block;left:-9999px;top:-9999px;"; var cssBack ="position:"+style.position+";visibility:"+style.visibility+";display:"+style.display+";left:"+style.left+";top:"+style.top; elem.style.cssText=cssShow; width = elem.offsetWidth; height = elem.offsetHeight; elem.style.cssText=cssBack; } return { "width": width, "height": height }; } function addEvent(el,type,fn){ //绑定事件 var self = this; if(el.attachEvent) { el['e'+type+fn] = fn; //IE下拷贝元素引用,使this指向el对象而不是window el[type+fn] = function(){el['e'+type+fn](window.event);} el.attachEvent('on'+type, el[type+fn]); }else el.addEventListener(type, fn, false); } script>
点击我试试
自定义弹出层
自带模态对话框
右下角广告
这是第二个测试例子!x 右下角广告x
//参数con为自带弹出框的内容,confirm为是否需要确认按钮,wraphide是否显示遮罩层,wrap自定义层id var dlg1=d_log({con:'确定要删除此文件吗?',confirm:'check'});//自动生成的dialog var dlg2=d_log({wraphide:'hide',wrapId:'owp'});//自定义的dialog var dlg3=d_log({wraphide:'hide',wrapId:'owp1',pos:'right-bottom'});//pos弹出层的位置 var arr=[1,2,3,4,5,5,6,7,8]; function check(){ alert('test!'); } script> 下载本文