jQuery弹出层插件

下载:SDialog_1.0.rar

  1 (function($){
  2     $.SDialog={
  3         show:function(o){
  4             var set ={
  5                 obj:null,
  6                 mask:true
  7             };
  8             set =$.extend(set,o||{});
  9             this.pos(set.obj);
 10             if(set.mask) this.maskShow();
 11         },
 12         hide:function(o){
 13             o.hide();
 14             if(!$('.SDialog:visible').length) this.maskHide();
 15         },
 16         hideAll:function(){
 17             this.maskHide();
 18             $(".SDialog").hide();
 19         },
 20         open:function(o){
 21             var set={
 22                 title:"",
 23                 html:"",
 24                 url:"",
 25                 width:500,
 26                 height:null,
 27                 mask:true,
 28                 cap:true
 29             };
 30             set =$.extend(set,o||{});
 31             if(set.url) 
 32             {
 33                 set.html='<iframe src="'+set.url+'" width="100%" height="'+set.height+'px" frameborder="0" scrolling="auto"></iframe>'; 
 34                 set.height=null;
 35             }
 36             var $win=$('<div class="SWindow">');
 37             $('body').append($win.append('<div class="SCap"><b></b><span class="SClose"></span></div><div class="SBox"></div>'));
 38             $win.css({"width":(set.width+"px"),"height":(set.height+"px")}).find(".SCap b").html(set.title);
 39             if(set.cap)$win.show().find(".SBox").html(set.html); else $win.html(set.html).attr("class","SWindow2");
 40             this.pos($win).find('.SClose').click(function(){$.SDialog.hide($win);});
 41             if(set.mask) this.maskShow();
 42         },
 43         load:function(){
 44             this.open({
 45                 html:'<div class="SLoad"></div>',
 46                 width:58,
 47                 height:10,
 48                 cap:false
 49             });
 50         },
 51         loadHode:function(){
 52             this.hide($(".SLoad").parent());
 53         },
 54         maskShow:function(){
 55             var s=this;
 56             var $mask = $('.SDMask');
 57             if(!$mask.length){
 58                 $mask = $('<div class="SDMask"></div>');
 59                 $('body').append($mask);
 60             }
 61             if(this.isIe6()) $('select').not($(".SDialog").find("select")).hide();
 62             $mask.height(this.docHeight).show().dblclick(function(){
 63                 s.hideAll();
 64             });            
 65         },
 66         maskHide:function(){
 67             if($('.SDMask').is(":visible")){
 68                 $('.SDMask').hide()
 69                 if(this.isIe6()) $('select').show();
 70             }        
 71         },
 72         pos:function(o){
 73             o.addClass("SDialog").css({'position':'fixed','top':'50%','left':'50%','marginTop':(-Math.floor(o.height()/2)-10),'marginLeft':-Math.floor(o.width())/2}).show();
 74             if(this.isIe6())o.css({'position':'absolute','top':($(window).scrollTop()+$(window).height()/2)}); 
 75             return o;
 76         },
 77         docHeight: function () {
 78             var scrollHeight,
 79             offsetHeight;
 80             if ($.browser.msie) {
 81                 scrollHeight = Math.max(
 82                     document.documentElement.scrollHeight,
 83                     document.body.scrollHeight
 84                 );
 85                 offsetHeight = Math.max(
 86                     document.documentElement.offsetHeight,
 87                     document.body.offsetHeight
 88                 );
 89 
 90                 if (scrollHeight < offsetHeight) {
 91                     return $(window).height() + 'px';
 92                 } else {
 93                     return scrollHeight + 'px';
 94                 }
 95             } else {
 96                 return $(document).height() + 'px';
 97             }
 98         },
 99         isIe6:function(){
100             return (typeof document.body.style.maxHeight == "undefined");
101         }
102     }
103 })(jQuery)

 

posted @ 2014-12-23 19:14  skyhap  阅读(307)  评论(0编辑  收藏  举报