实例代码讲解jquery easyui动态tab页
作者:bea
通过使用 jQuery EasyUI 可以很容易地添加 Tabs。您只需要调用 'add' 方法即可。 function addTab(title, href,icon){ var tt = $('#tabs'); if (tt.tabs('exists', title)){//如果tab已经存在,则选中并刷新该tab tt.tabs('select', title); refreshTab({tabTitle:title,url:href
通过使用 jQuery EasyUI 可以很容易地添加 Tabs。您只需要调用 'add' 方法即可。
function addTab(title, href,icon){
var tt = $('#tabs');
if (tt.tabs('exists', title)){//如果tab已经存在,则选中并刷新该tab
tt.tabs('select', title);
refreshTab({tabTitle:title,url:href});
} else {
if (href){
var content = '<iframe scrolling="no" frameborder="0" src="'+href+'" style="width:100%;height:100%;"></iframe>';
} else {
var content = '未实现';
}
tt.tabs('add',{
title:title,
closable:true,
content:content,
iconCls:icon||'icon-default'
});
}
}
/**
* 刷新tab
* @cfg
*example: {tabTitle:'tabTitle',url:'refreshUrl'}
*如果tabTitle为空,则默认刷新当前选中的tab
*如果url为空,则默认以原来的url进行reload
*/
function refreshTab(cfg){
var refresh_tab = cfg.tabTitle?$('#tabs').tabs('getTab',cfg.tabTitle):$('#tabs').tabs('getSelected');
if(refresh_tab && refresh_tab.find('iframe').length > 0){
var _refresh_ifram = refresh_tab.find('iframe')[0];
var refresh_url = cfg.url?cfg.url:_refresh_ifram.src;
//_refresh_ifram.src = refresh_url;
_refresh_ifram.contentWindow.location.href=refresh_url;
}
以上代码简单易懂,代码就是注释,有疑问欢迎给我留言。
ps: jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”。
两者特点:
href方式加载数据的特点:
被加载的页面只有body元素内部的内容才会被加载,也就是jQuery的ajax请求的只是html片段。 加载远程url时有遮罩效果,也就是“等待中……”效果,用户体验较好。 当加载的页面布局较为复杂,或者有较多的js脚本需要运行的时候,编码往往就需要谨慎了,容易出问题,后面会详细谈。
content方式加载数据的特点:
比较灵活,你可以在脚本里面拼写html代码,然后赋值给tab的content属性,不过这种写法会使得代码易读性变差。 可以把iframe赋给content,把一个iframe嵌入也就没有什么不能完成的了。 使用iframe会造成客户端js重复加载,浪费资源,比如说你主页面要引用easyui的库,你的iframe也要引用,浪费就产生了。
有用 | 无用
function addTab(title, href,icon){
var tt = $('#tabs');
if (tt.tabs('exists', title)){//如果tab已经存在,则选中并刷新该tab
tt.tabs('select', title);
refreshTab({tabTitle:title,url:href});
} else {
if (href){
var content = '<iframe scrolling="no" frameborder="0" src="'+href+'" style="width:100%;height:100%;"></iframe>';
} else {
var content = '未实现';
}
tt.tabs('add',{
title:title,
closable:true,
content:content,
iconCls:icon||'icon-default'
});
}
}
/**
* 刷新tab
* @cfg
*example: {tabTitle:'tabTitle',url:'refreshUrl'}
*如果tabTitle为空,则默认刷新当前选中的tab
*如果url为空,则默认以原来的url进行reload
*/
function refreshTab(cfg){
var refresh_tab = cfg.tabTitle?$('#tabs').tabs('getTab',cfg.tabTitle):$('#tabs').tabs('getSelected');
if(refresh_tab && refresh_tab.find('iframe').length > 0){
var _refresh_ifram = refresh_tab.find('iframe')[0];
var refresh_url = cfg.url?cfg.url:_refresh_ifram.src;
//_refresh_ifram.src = refresh_url;
_refresh_ifram.contentWindow.location.href=refresh_url;
}
以上代码简单易懂,代码就是注释,有疑问欢迎给我留言。
ps: jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”。
两者特点:
href方式加载数据的特点:
被加载的页面只有body元素内部的内容才会被加载,也就是jQuery的ajax请求的只是html片段。 加载远程url时有遮罩效果,也就是“等待中……”效果,用户体验较好。 当加载的页面布局较为复杂,或者有较多的js脚本需要运行的时候,编码往往就需要谨慎了,容易出问题,后面会详细谈。
content方式加载数据的特点:
比较灵活,你可以在脚本里面拼写html代码,然后赋值给tab的content属性,不过这种写法会使得代码易读性变差。 可以把iframe赋给content,把一个iframe嵌入也就没有什么不能完成的了。 使用iframe会造成客户端js重复加载,浪费资源,比如说你主页面要引用easyui的库,你的iframe也要引用,浪费就产生了。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- JavaScript严格模式详解
- 每天一篇javascript学习小结(String对象)
- 跟我学习javascript的执行上下文
- 跟我学习JScript的Bug与内存管理
- 跟我学习javascript的循环
- js操作table元素实现表格行列新增、删除技巧总结
- 跟我学习javascript的for循环和for...in循环
- js实现模拟银行卡账号输入显示效果
- 跟我学习javascript的prototype原型和原型链
- 超精准的javascript验证身份证号的具体实现方法
- javascript中checkbox使用方法简单实例演示
- javascript下拉列表中显示树形菜单的实现方法
- JS封装cookie操作函数实例(设置、读取、删除)
- jquery可定制的在线UEditor编辑器
- JS实现选项卡实例详解
- 基于Jquery代码实现支持PC端手机端幻灯片代码
- 举例说明如何为JavaScript的方法参数设置默认值
- Jquery easyui 实现动态树
- 总结JavaScript中布尔操作符||与&&的使用技巧