Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Jul 20th, 2010 | Syntax: JavaScript | Size: 2.19 KB | Hits: 238 | Expires: Never
Copy text to clipboard
  1. /* 浮动层类- 2010-07-19 @author longxiao*/
  2.                         var Popup=function(btn,target,close){
  3.                                 var self=this;
  4.                                 self.btn=btn;
  5.                                 self.target=target;
  6.                                 self.close=close;
  7.                                 self.status='none';
  8.                                 self.w=parseInt(D.getStyle(target,'width'))/2;
  9.                                 self.ffh=parseInt(D.getStyle(target,'height'))/2;
  10.                                 self.adjustPostion=function(){
  11.                                         self.h=D.getDocumentScrollTop()+D.getViewportHeight()/2-parseInt(D.getStyle(target,'height'))/2;
  12.                                          D.get(self.target).style.cssText='display:'+self.status+';position:absolute;z-index:99999;left:50%;margin-left:-'+self.w+'px;top:'+self.h+'px;';
  13.                                 };
  14.                                
  15.                                 return {
  16.                                         'int':function(){
  17.                                                 this.Event(self.btn);
  18.                                                 if(typeof self.close==='string'){
  19.                                                         this.close(self.close);
  20.                                                 }else{
  21.                                                         for(var i=0;i<self.close.length;i++){
  22.                                                                 this.close(self.close[i]);
  23.                                                         }
  24.                                                 };
  25.                                                 if (6 == YAHOO.env.ua.ie) {
  26.                                                         E.onDOMReady(function(){
  27.                                                                 E.on(window, 'resize', self.adjustPostion);
  28.                                                                 E.on(window, 'scroll', self.adjustPostion);
  29.                                                         });
  30.                                                 }
  31.                                         },
  32.                                          
  33.                                         'Event':function(btn){
  34.                                                 var ele=D.get(btn);
  35.                                                 E.addListener(ele,'click',function(){
  36.                                                         if (6 == YAHOO.env.ua.ie) {
  37.                                                         self.status='block';
  38.                                                         self.h=D.getDocumentScrollTop()+D.getViewportHeight()/2-parseInt(D.getStyle(target,'height'))/2;
  39.                                                          D.get(self.target).style.cssText='display:'+self.status+';position:absolute;z-index:99999;left:50%;margin-left:-'+self.w+'px;top:'+self.h+'px;';
  40.                                                         }else{
  41.                                                         D.get(self.target).style.cssText='display:block;position:fixed;left:50%;top:50%;margin-left:-'+self.w+'px;margin-top:-'+self.ffh+'px';
  42.                                                         }
  43.                                                 })
  44.                                         },
  45.                                        
  46.                                         'close':function(btn){
  47.                                                 var ele=D.get(btn);
  48.                                                 E.addListener(ele,'click',function(){
  49.                                                         D.get(self.target).style.display='none';
  50.                                                         self.status='none';
  51.                                                 });
  52.                                         }
  53.                                 }
  54.                         };
  55.                         /* 调用方法:
  56.                          * 第一个参数是点击调出层的按钮ID;
  57.                          * 第二个参数是目标弹出层【默认样式要设置display:none】;
  58.                          * 第三个参数是关闭弹出层的按钮ID,多个用数组形式表达;
  59.                          */
  60.                         var madoubox=new Popup("Popup","prompt-box-madou",['prompt-box-madou-close','prompt-box-madou-cel']);
  61.                        
  62.                         madoubox['int']();