You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

109 lines
3.5 KiB

/*
该文件是从网上收集的方法,用来做开关灯的,相对于原来的程序做了一些改变,兼容了IE10
*/
var Offlights = {
create: function() {
return function() {
this.initialize.apply(this, arguments)
}
}
}
var OverLay = Offlights.create();
OverLay.prototype = {
initialize: function(options) {
this.SetOptions(options);
this.browser = (function(ua){
var a=new Object();
var b = {
msie: /msie/.test(ua) && !/opera/.test(ua),
opera: /opera/.test(ua),
safari: /webkit/.test(ua) && !/chrome/.test(ua),
firefox: /firefox/.test(ua),
chrome: /chrome/.test(ua)
};
var vMark = "";
for (var i in b) {
if (b[i]) { vMark = "safari" == i ? "version" : i; break; }
}
b.version = vMark && RegExp("(?:" + vMark + ")[\\/: ]([\\d.]+)").test(ua) ? RegExp.$1 : "0";
b.ie = b.msie;
b.ie6 = b.msie && parseInt(b.version, 10) == 6;
b.ie7 = b.msie && parseInt(b.version, 10) == 7;
b.ie8 = b.msie && parseInt(b.version, 10) == 8;
a.B=vMark;
a.V=b.version;
return a;
})(window.navigator.userAgent.toLowerCase());
this.isIE = this.browser['B']=='msie' ? true : false;
this.isIE6 = (this.isIE && this.browser['V']==6)?true:false;
this._K_ = function(id) {return "string" == typeof id ? document.getElementById(id) : id};
this.Lay = this._K_(this.options.Lay) || document.body.insertBefore(document.createElement("div"), document.body.childNodes[0]);
this.Color = this.options.Color;
this.Opacity = parseInt(this.options.Opacity);
this.zIndex = parseInt(this.options.zIndex);
with(this.Lay.style) {
display = "none";
zIndex = this.zIndex;
left = top = 0;
position = "fixed";
width = height = "100%"
}
if (this.isIE6) {
this.Lay.style.position = "absolute";
this._resize = this.Bind(this,
function() {
this.Lay.style.width = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth) + "px";
this.Lay.style.height = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight) + "px"
});
this.Lay.innerHTML = ''
}
},
Bind:function(object, fun) {
return function() {
return fun.apply(object, arguments)
}
},
Extend :function(destination, source) {
for (var property in source) {
destination[property] = source[property]
}
},
SetOptions: function(options) {
this.options = {
Lay: null,
Color: "#000",
Opacity: 100,
zIndex: 50
};
this.Extend(this.options, options || {})
},
Show: function() {
if (this.isIE6) {
this._resize();
window.attachEvent("onresize", this._resize)
}
with(this.Lay.style) {
this.isIE ? filter = "alpha(opacity:" + this.Opacity + ")": opacity = this.Opacity / 100;
backgroundColor = this.Color;
display = "block"
}
},
Close: function() {
this.Lay.style.display = "none";
if (this.isIE6) {
window.detachEvent("onresize", this._resize)
}
}
};
var LightBox = Offlights.create();
LightBox.prototype = {
initialize: function(options) {
this.OverLay = new OverLay(options);
},
Show: function(options) {
this.OverLay.Show();
},
Close: function() {
this.OverLay.Close();
}
};