基于jquery div模式窗口 javascript 代码

 /**
 * wangyuqiu@2009-04-10
 */

/**
 * divWindow 对象

 * 需要结合jquery使用
 */
 

function divWindow(windowId){
 if(windowId)
  this.id = windowId;
 else
  return null; 
 this.status = 0;
 this.height = 300;
 this.width = 400;


 //debugger;

 if($("#"+this.id).length == 0){

  this.divNode = $("<div />");
  this.divNode.attr({id:this.id});
  this.divNode.attr({"class":"divWindow"});
 
  this.backGroundDiv = $("<div />");
  this.backGroundDiv.attr({id:this.id+"_BackGroundDiv"});
  this.backGroundDiv.attr({"class":"outDivWindow"});
 
  this.divNode.appendTo("body");
  this.backGroundDiv.appendTo("body");
 
 }else{
  this.divNode = $("#"+this.id).eq(0);
  this.backGroundDiv = $("#"+this.id+"_BackGroundDiv").eq(0);
 }
 
}

/**
 * 设置divWindow 的内容
 */
divWindow.prototype.set = function(node){
 if(this.divNode.html() == ""){
  if(typeof node === "string")
   this.divNode.append($(node));
  else if(typeof node === "object")
    this.divNode.append(node);
   else
    alert("非法参数!");
 }
}

/**
 * divWindow 展示函数
 */
divWindow.prototype.show = function(){
 
 //debugger;
 this.divNode.height(this.height);
 this.divNode.width(this.width);
 var windowWidth = document.body.clientWidth;
 var windowHeight = document.body.clientHeight;
 var popupHeight = this.divNode.height();
 var popupWidth = this.divNode.width();

 this.divNode.css({
  "position": "absolute",
  "top": windowHeight/2-popupHeight/2,
  "left": windowWidth/2-popupWidth/2
 });

 //this.backGroundDiv.css({
 // "height": windowHeight
 //}); 


    //show
 if(this.status==0){
  this.backGroundDiv.css({
   "opacity": "0.7",
   "width":windowWidth,
   "height":windowHeight
  });
  this.backGroundDiv.fadeIn("fast");
  this.divNode.fadeIn("fast",this.beforeShow);
  this.status = 1;
 }

}

/**
 * divWindow 关闭函数
 */
divWindow.prototype.close = function(){
 if(this.status==1){
  this.backGroundDiv.fadeOut("fast");
  this.divNode.fadeOut("fast",this.beforeClose);
  this.status = 0;
 } 

}

/**
 * divWindow 展示前的回调
 */
divWindow.prototype.beforeShow = function( _func){
 if ((!!_func)&&(typeof _func == "function"))
  this.beforeShow = _func;
}

/**
 * divWindow 关闭之前的回调
 */
divWindow.prototype.beforeClose = function( _func){
 if ((!!_func)&&(typeof _func == "function"))
 this.beforeClose = _func;
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值