数码资讯
使用本机js实现弹出特殊效果
创建遮罩层 复制代码代码如下所示: _createcover:函数(){ 无功newmask = document.createelement(div); 这_mark newmask.id =; newmask.style.position =绝对; newmask.style.zindex =1
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
创建遮罩层
复制代码代码如下所示:
_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;
}
};
还给我;
});
复制代码代码如下所示:
_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;
}
};
还给我;
});
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。