jquery.boxy插件的iframe扩展

//Boxy插件的扩展方法

jQuery.fn.qbox=function(options){

var node = this.get(0).nodeName.toLowerCase();

var self=this;

if (node == 'a') {

$(this).attr('onclick','').unbind('click').click(function(){return false;});

options = $.extend({src:this.get(0).getAttribute('href'),beforeUnload:function(){ $(self).unbind('click').click(function(){return $(this).qbox(options);});}},options||{});

}

qBox.iFLoad(options);

return false;

}

var qBox=function(){};

jQuery.extend(qBox,{

aDgs:[],

iFrame:function(op){

op = jQuery.extend({title:'提示',w:320,h:200,src:'about:blank',modal:false,fixed:false,unloadOnHide:true},op),fm=parseInt(Math.random()*(1000*987));//

var dialog = new Boxy("<b ld"+fm+"\">正在加载,请稍后....</b><iframe _"+fm+"\" width:0px;height:0px;display:none;padding:0;\" src="+op.src+" frame0\" scrolling=\"no\"></iframe>",op);

jQuery("#_"+fm).load(function(){

dialog.resize(op.w,op.h,function(){});

jQuery("#ld"+fm).remove();

jQuery("#_"+fm).css({'padding':'15px','display':''});

});

qBox.aDgs.push(dialog);

return false;

},

Close:function(){

qBox.aDgs[qBox.aDgs.length-1].hide();

return false

},

iFSrc:function(op){

op = jQuery.extend({w:320,h:200,src:'about:blank'},op);

var B=qBox.aDgs[qBox.aDgs.length-1];

B.setTitle(op.title);

B.getContent().attr({'src':op.src});

B.tween(op.w,op.h,function(){

B.getContent().css({'width':op.w+'px','height':op.h+'px'});

});

return false;

},

iFLoad:function(options){

var sr= jQuery(this).attr("href");

var op = jQuery.extend({src:sr},options);

qBox.iFrame(op);

return false;

}

});

2010年7月24日附加演示并修改了代码

下载演示:jQuery.Boxy.iFrame

原创

转载请保留出处 cn795.cnblogs.com