jquery.boxy插件的iframe扩展代码

所属分类: 网络编程 / JavaScript 阅读数: 1880
收藏 0 赞 0 分享
复制代码 代码如下:

/*
<a href="a.html" onclick="return $.qbox(this);" >
<a href="a.html" onclick="return qBox.iFLoad(this);" >
<a href="a.html" onclick="return qBox.iFrame({src:'b.html'})" > Boxy属性不变 新增 w、h、src 属性
qBox.Close();关闭当前窗口
qBox.iFSrc({}); 改变当前窗口的属性及指向 Boxy属性不变 新增 w、h、src 属性
*/

//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(options||{},{src:this.get(0).getAttribute('href'),beforeUnload:function(){ $(self).unbind('click').click(function(){return $(this).qbox(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 id=\"ld"+fm+"\">正在加载,请稍后....</b><iframe id=\"_"+fm+"\" style=\"width:0;height:0;display:none;padding:0;\" src="+op.src+" frameborder=\"0\" 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);
qBox.aDgs[qBox.aDgs.length-1].getContent().attr("src","about:blank");
qBox.aDgs[qBox.aDgs.length-1].setTitle(op.t);
qBox.aDgs[qBox.aDgs.length-1].tween(op.w,op.h,function(){qBox.aDgs[qBox.aDgs.length-1].getContent().attr("src",op.src).css({width:op.w,height:op.h});});
return false;
},
iFLoad:function(options){
var sr= jQuery(this).attr("href");
var op = jQuery.extend({src:sr},options);
qBox.iFrame(op);
return false;
}
});


出处 cn795.cnblogs.com
更多精彩内容其他人还在看

JQuery AJAX提交中文乱码的解决方案

JQuery是一个非常优秀的框架,在特定场合下使用JQuery提交数据,相当的方便快捷。 但是,在处理一个GB2312编码的网站AJAX提交时,中文数据却成了乱码。
收藏 0 赞 0 分享

jquery.boxy插件的iframe扩展代码

jquery.boxy插件的iframe扩展
收藏 0 赞 0 分享

JSON JQUERY模板实现说明

用JSON从服务器端返回数据已是大家公认的标准,因为它短小精悍,使用方便.
收藏 0 赞 0 分享

js下利用userData实现客户端保存表单数据

对于多数网页制作的朋友,实现在客户端保存在网页表单上的信息,比较多的是采用Cookie技术来实现,这些功能例如:下拉列表框选择的选项,文本框输入的数据等。
收藏 0 赞 0 分享

Html中JS脚本执行顺序简单举例说明

写在最前面的最先执行,Body的onload事件要在页面加载完后才执行。
收藏 0 赞 0 分享

WEB高性能开发之疯狂的HTML压缩

一篇随笔中网友 skyaspnet 问我如何压缩HTML,当时回答是推荐他使用gzip,后来想想,要是能把所有的html,jsp(aspx)在运行前都压缩成1行未免不是一件好事啊。
收藏 0 赞 0 分享

高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现

在处理比较耗时的请求的时候,我们总希望先让用户先看到部分内容,让用户知道系统正在进行处理,而不是无响应。
收藏 0 赞 0 分享

javascript上下左右定时滚动插件

在网上找到的,我认为最为方便的一段定时滚动代码,找了很多其他的总是有这样那样的问题,好不容易找到的,就分享一下。
收藏 0 赞 0 分享

一个简单的js渐显(fadeIn)渐隐(fadeOut)类

最近发现项目用的表单验证不好使,干脆一边参考人家的一边自己写了一个。在验证有错误返回提示信息用到渐显(fadeIn)渐隐(fadeOut)过渡(因为浏览器的效率实在太高了,一下就蹦了出来~~);
收藏 0 赞 0 分享

一段批量给页面上的控件赋值js

一次性给页面上的控件赋值,控件的ID和数据库表字段对应一样,这样就一次性搞定了
收藏 0 赞 0 分享
查看更多