练习javascript oop编程,写的一个遮罩层
练习javascript oop编程,写的一个遮罩层
 代码
代码
 <script type="text/javascript" src="core/jquery-1.3.1.min.js"></script>
<script type="text/javascript">
////////////////////////////////////////
/// author:seekarmor@yahoo.com.cn ///
/// Practice of Js OOP programming ///
/// ///
//////////////////////////////////////
    
var MaskDig=(function(){
    
//返回弹出窗口的位置
var digPos=function($f,$m){
var st =$f.scrollTop(); //滚动条距顶部的距离
var sl =$f.scrollLeft(); //滚动条距左边的距离
var ch =$f[0].clientHeight; //屏幕的高度
var cw = $f[0].clientWidth; //屏幕的宽度
var objH = $m.height(); //浮动对象的高度
var objW = $m.width(); //浮动对象的宽度
var objT = Number(st) + (Number(ch) - Number(objH)) / 2;
var objL = Number(sl) + (Number(cw) - Number(objW)) / 2;
return objT + "|" + objL;
};
//遮罩层的样式
var maskStyle={
"background-color": "Gray",
"display":"none",
"z-index":"3",
"position":"absolute",
"left":"0px",
"top":"0px",
             
"filter":"Alpha(Opacity=30)",
/* IE */
"-moz-opacity":"0.4",
/* Moz + FF */
"opacity":"0.4",
}
//弹出窗口的样式
var digStyle= {
"position":"absolute",
"z-index":"4",
"font-size":"12px",
"text-align":"center",
"height":"34px",
"line-height":"34px",
"background-color":"#FFFFFF",
"border":"1px solid #993300"
}
var maskDiv="<div></div>";
var digDiv="<div><img src='images/Waiting9999.gif' /></div>";
return function(father){
var self=this;
this.maskID="fullBg";
this.digID="msg";
this.resscrEvt=function() {
var bjCss = self.$maskId.css("display");
if (bjCss == "block") {
var bH2 = self.$fathercon.get(0).scrollHeight;
var bW2 = self.$fathercon.get(0).scrollWidth;
self.$maskId.css({
width: bW2,
height: bH2
});
var objV = digPos(self.$fathercon,self.$msgId);
var tbT = objV.split("|")[0] + "px";
var tbL = objV.split("|")[1] + "px";
self.$msgId.css({
top: tbT,
left: tbL
});
}
}
        
//遮罩层的ID
this.$msgId=$(digDiv);
this.$maskId=$(maskDiv);
this.$msgId.attr("id",this.digID).css(digStyle);
this.$maskId.attr("id",this.maskID).css(maskStyle);
        
if(father==document)
{
$("body").prepend(this.$msgId);
$("body").prepend(this.$maskId);
this.$fathercon=$(document.documentElement);
$(window).scroll(this.resscrEvt);
$(window).resize(this.resscrEvt);
}
else
{
$(father).prepend(this.$msgId);
$(father).prepend(this.$maskId);
this.$fathercon=$(father);
this.$fathercon.scroll(this.resscrEvt);
this.$fathercon.resize(this.resscrEvt)
}
//关闭灰色背景和操作窗口
this.closeDig=function() {
self.$maskId.hide();
self.$msgId.hide();
}
       
        
//显示遮罩层和窗口
this.show=function(){
var bH = self.$fathercon.get(0).scrollHeight;
var bW = self.$fathercon.get(0).scrollWidth;
self.$msgId.height(40);
self.$msgId.width(200);
var objWH = digPos(self.$fathercon,self.$msgId);
self.$maskId.css({
width: bW+"px",
height: bH+"px"
}).show();
var tbT = objWH.split("|")[0] + "px";
var tbL = objWH.split("|")[1] + "px";
self.$msgId.css({
top: tbT,
left: tbL
}).show();
}
}
})();
       
     
     
    
$(function(){
var tt= new MaskDig(document);
tt.show();
var test=new MaskDig(".fa");
test.show();
var test1= new MaskDig(".fa1");
test1.show();
});
</script>
<script type="text/javascript">
////////////////////////////////////////
/// author:seekarmor@yahoo.com.cn ///
/// Practice of Js OOP programming ///
/// ///
//////////////////////////////////////
var MaskDig=(function(){
//返回弹出窗口的位置
var digPos=function($f,$m){
var st =$f.scrollTop(); //滚动条距顶部的距离
var sl =$f.scrollLeft(); //滚动条距左边的距离
var ch =$f[0].clientHeight; //屏幕的高度
var cw = $f[0].clientWidth; //屏幕的宽度
var objH = $m.height(); //浮动对象的高度
var objW = $m.width(); //浮动对象的宽度
var objT = Number(st) + (Number(ch) - Number(objH)) / 2;
var objL = Number(sl) + (Number(cw) - Number(objW)) / 2;
return objT + "|" + objL;
};
//遮罩层的样式
var maskStyle={
"background-color": "Gray",
"display":"none",
"z-index":"3",
"position":"absolute",
"left":"0px",
"top":"0px",
"filter":"Alpha(Opacity=30)",
/* IE */
"-moz-opacity":"0.4",
/* Moz + FF */
"opacity":"0.4",
}
//弹出窗口的样式
var digStyle= {
"position":"absolute",
"z-index":"4",
"font-size":"12px",
"text-align":"center",
"height":"34px",
"line-height":"34px",
"background-color":"#FFFFFF",
"border":"1px solid #993300"
}
var maskDiv="<div></div>";
var digDiv="<div><img src='images/Waiting9999.gif' /></div>";
return function(father){
var self=this;
this.maskID="fullBg";
this.digID="msg";
this.resscrEvt=function() {
var bjCss = self.$maskId.css("display");
if (bjCss == "block") {
var bH2 = self.$fathercon.get(0).scrollHeight;
var bW2 = self.$fathercon.get(0).scrollWidth;
self.$maskId.css({
width: bW2,
height: bH2
});
var objV = digPos(self.$fathercon,self.$msgId);
var tbT = objV.split("|")[0] + "px";
var tbL = objV.split("|")[1] + "px";
self.$msgId.css({
top: tbT,
left: tbL
});
}
}
//遮罩层的ID
this.$msgId=$(digDiv);
this.$maskId=$(maskDiv);
this.$msgId.attr("id",this.digID).css(digStyle);
this.$maskId.attr("id",this.maskID).css(maskStyle);
if(father==document)
{
$("body").prepend(this.$msgId);
$("body").prepend(this.$maskId);
this.$fathercon=$(document.documentElement);
$(window).scroll(this.resscrEvt);
$(window).resize(this.resscrEvt);
}
else
{
$(father).prepend(this.$msgId);
$(father).prepend(this.$maskId);
this.$fathercon=$(father);
this.$fathercon.scroll(this.resscrEvt);
this.$fathercon.resize(this.resscrEvt)
}
//关闭灰色背景和操作窗口
this.closeDig=function() {
self.$maskId.hide();
self.$msgId.hide();
}
//显示遮罩层和窗口
this.show=function(){
var bH = self.$fathercon.get(0).scrollHeight;
var bW = self.$fathercon.get(0).scrollWidth;
self.$msgId.height(40);
self.$msgId.width(200);
var objWH = digPos(self.$fathercon,self.$msgId);
self.$maskId.css({
width: bW+"px",
height: bH+"px"
}).show();
var tbT = objWH.split("|")[0] + "px";
var tbL = objWH.split("|")[1] + "px";
self.$msgId.css({
top: tbT,
left: tbL
}).show();
}
}
})();
$(function(){
var tt= new MaskDig(document);
tt.show();
var test=new MaskDig(".fa");
test.show();
var test1= new MaskDig(".fa1");
test1.show();
});
</script>
 
                    
                     
                    
                 
                    
                
 

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号