原创jQuery弹出层插件分享

2020-05-22 15:35:22易采站长站整理

next.parentNode.insertBefore(obj, next);
} else if (parent) {
parent.appendChild(obj);
};
data.css({"display" : display});
};
}
data.detach();
return s.container;
},
isLastLayer : function(){
var s = this;
return $("." + s.o.wrapper).length <= 0;
},
hasBgLayer : function(){
var s = this;
return $("." + s.o.bgLayer).length > 0;
},
close : function(data, options ,generateId) {
var s = this;
//调用回调函数
var result = options.close();
if(result == undefined || result){
data.remove();
if(s.isLastLayer()) {
$("#" + s.o.bgLayer).remove();
}
}
if (s["elemBack_" + generateId]) {
s["elemBack_" + generateId]();
};
},
closeLayer : function(obj){
var s = this;
var $wapper = $(obj).parents("div."+s.o.wrapper);
$("."+s.o.replaceClose,$wapper).trigger("click");
},
fixLayer : function(data) {
var s = this;
var T = ($(window).height() - data.innerHeight()) / 2 + (s.o.ie6 ? $(document).scrollTop() : data.scrollTop());
var L = ($(window).width() - data.width()) / 2 + (s.o.ie6 ? $(document).scrollLeft() : data.scrollLeft());
data.css({"left" : L,"top" : T});
},
dragLayer : function(data, options) {
var s = this;
var move = false;// 移动标记
var x = 0, y = 0;// 鼠标离控件左上角的相对位置
var o = data.find("." + s.o.dragableClass).css({"cursor" : "move"});
var a = o[0];
o.mousedown(function(e) {
//IE9 IE10居然把e.button改成0了,艹
var isLeftClick = (s.o.isIe && e.button == 1) || (!s.o.isIe && e.button == 0) || (s.o.ie9_10 && e.button == 0);
if (isLeftClick) {
data.fadeTo(20, 0.25);// 点击后开始拖动并透明显示
s.o.isIe ? a.setCapture() : window.captureEvents(Event.MOUSEMOVE);
move = true;
x = e.pageX - parseInt(data.css("left"));
y = e.pageY - parseInt(data.css("top"));
$(document).mousemove(function(e) {
if (move) {
var sx = e.pageX - x;// 移动时根据鼠标位置计算控件左上角的绝对位置
var sy = e.pageY - y;
data.css({"top" : sy,"left" : sx});
}
}).mouseup(function() {
data.fadeTo("fast", 1);// 松开鼠标后停止移动并恢复成不透明
move = false;
x = 0;
y = 0;
s.o.isIe ? a.releaseCapture() : window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
});