创建遮罩层

复制代码代码如下所示:

_createcover:函数(){

无功newmask = document.createelement(div);

这_mark newmask.id =;

newmask.style.position =绝对;

newmask.style.zindex =100;

_scrollwidth = math.max(document.body.scrollwidth,文档。文档元素}。scrollwidth);

_scrollheight = math.max(document.body.scrollheight,文档。文档元素}。scrollheight);

newmask.style.width = _scrollwidth +PX;

newmask.style.height = _scrollheight +PX;

newmask.style.top =0px ;

newmask.style.left =0px ;

newmask.style.background =# 000 ;

newmask.style.filter =阿尔法(不透明度50);

newmask.style.opacity =0.50;

newmask.style.display =不关;

document.body.appendchild(newmask);

这_cover = newmask;

}



新的弹出层

复制代码代码如下所示:

_createfloater:功能(HTML){

无功newdiv = document.createelement(div);

这_id newdiv.id =;

newdiv.style.position =绝对;

newdiv.style.zindex =9999;

newdivwidth = 400;

newdivheight = 200;

newdiv.style.width = newdivwidth +PX;

newdiv.style.height = newdivheight +PX;

newdiv.style.top =(document.body.scrolltop +文档。身体。自己 / 2 newdivheight / 2)+PX;

newdiv.style.left =(document.body.scrollleft +文档。身体。clientwidth / 2 newdivwidth / 2)+PX;

newdiv.style.padding =5px ;

newdiv.style.display =不关;

newdiv.innerhtml = HTML;

document.body.appendchild(newdiv);

这_floater = newdiv;

}



调整弹性层的位置

复制代码代码如下所示:

addjustposition:函数(){

这个_floater.style.top =(document.body.scrolltop +文档。身体。自己 / 2 newdivheight / 2)+PX;

这个_floater.style.left =(document.body.scrollleft +文档。身体。clientwidth / 2 newdivwidth / 2)+PX;

}



调整屏幕滚动事件时的位置

复制代码代码如下所示:

这个_fs = BindAsEventListener(这,这,addjustposition);

AddEventHandler(窗口,滚动

隐藏/隐藏之后

RemoveEventHandler(窗口,滚动



完整的代码

复制代码代码如下所示:

Var Floater =(函数(){())

我class.create(VAR);

me.prototype = { {

初始化:函数(选项){

这个_fs = BindAsEventListener(这,这,addjustposition);

this.setoptions(选项);

},

setOptions:功能(选项){

this.options =选择| | { };

这_id = options.id;

这_mark =马克;

},

显示函数(HTML,选项){

选项=选择| | { };

如果(!这_cover){。

这_createcover();

}

如果(!这_floater){。

这_createfloater(HTML);

}

如果(选项。saveopt){

这_saveoption = options.saveopt;

This.bindSaveEvent();

}

这_bindscrollevent();

this.addjustposition();

这_floater.style.display = '';

这_cover.style.display = '';

this.isshow =真;

},

插入:功能(HTML,选择,ATT){

无功_e = document.createelement(div),_t;

_e.innerhtml = HTML;

对于(VaR K选择){

_e { } = { }选择K K;

}

_t =这。_floater.queryselector({+ ATT + });

如果(_t){

_t.appendchild(_e);

}

},

GetFloater:函数(){

如果(这。_floater){

这_floater返回;

}

},

掩码层

_createcover:函数(){

无功newmask = document.createelement(div);

这_mark newmask.id =;

newmask.style.position =绝对;

newmask.style.zindex =100;

_scrollwidth = math.max(document.body.scrollwidth,文档。文档元素}。scrollwidth);

_scrollheight = math.max(document.body.scrollheight,文档。文档元素}。scrollheight);

newmask.style.width = _scrollwidth +PX;

newmask.style.height = _scrollheight +PX;

newmask.style.top =0px ;

newmask.style.left =0px ;

newmask.style.background =# 000 ;

newmask.style.filter =阿尔法(不透明度50);

newmask.style.opacity =0.50;

newmask.style.display =不关;

document.body.appendchild(newmask);

这_cover = newmask;

},

新弹出窗口

_createfloater:功能(HTML){

无功newdiv = document.createelement(div);

这_id newdiv.id =;

newdiv.style.position =绝对;

newdiv.style.zindex =9999;

newdivwidth = 400;

newdivheight = 200;

newdiv.style.width = newdivwidth +PX;

newdiv.style.height = newdivheight +PX;

newdiv.style.top =(document.body.scrolltop +文档。身体。自己 / 2 newdivheight / 2)+PX;

newdiv.style.left =(document.body.scrollleft +文档。身体。clientwidth / 2 newdivwidth / 2)+PX;

newdiv.style.padding =5px ;

newdiv.style.display =不关;

newdiv.innerhtml = HTML;

document.body.appendchild(newdiv);

这_floater = newdiv;

},

弹出滚动中心

addjustposition:函数(){

这个_floater.style.top =(document.body.scrolltop +文档。身体。自己 / 2 newdivheight / 2)+PX;

这个_floater.style.left =(document.body.scrollleft +文档。身体。clientwidth / 2 newdivwidth / 2)+PX;

},

BindSaveEvent:函数(){

这个_saveelem =这。_floater.queryselector({+本。_saveoption。元素+});

如果(这。_saveelem){

AddEventHandler(这_saveelem,点击。

}

},

_bindscrollevent:函数(){

AddEventHandler(窗口,滚动

},

隐藏:函数(){

this.isshow = false;

This.destory();

},

Destory: function () {

RemoveEventHandler(窗口,滚动

如果(这。_saveelem){

RemoveEventHandler(这_saveelem,点击。

}

如果(这。_cover){

document.body.removechild(这个。_cover);

}

如果(这。_floater){

document.body.removechild(这个。_floater);

}

这_cover = null;

这_floater = null;

}

};

还给我;

});