关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法


Posted in Javascript onMarch 02, 2017

书写jQuery EasyUI Tab 样例时,如果刷新前面的Tab 选项卡,某一个Tab 选项卡里面的页面布局变乱。如下面图片所示:

刚开始打开时页面布局正确:

关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法 

此时我们在第二个选项卡里面,点击第一个页面的刷新按钮,一直刷新,然后切换回来再看看页面,如下图:

关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法 

但是首页选项卡的页面是正常的。

关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法 

为了便于解释说明,这里用第一个选项卡代表 “首页”,第二个选项卡代表”子菜单10”

出现这种情况的问题根本原因在于,你在第二个选项卡里面,点击其它第一个选项卡刷新按钮时,其实刷新的时第二个选项页面内容,当你鼠标离开你第一个选项卡刷新按钮时 ,此时才选中了第一个选项卡,而这时候第二个选项卡还没有渲染完毕,才导致出现这样的情况。验证过程,这是使用的是验证选项卡的title.

打开两个选项卡,一个”首页”,一个”子菜单10”选项卡,切换到”子菜单10”选项卡,然后点击”首页”选项卡的刷新按钮,弹出的结果如下的图,可见在鼠标点击的过程中,tab 里面选中的还是”子菜单10”选项卡,并不是我们看到的”首页”选项卡。

关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法

出现上图问题的错误代码如下:

/* title表示tab选项卡的标题 */
function refeshCurrentTab() {
      var tabPanel = $('#tabContainer');//存放tab选项卡的容器
      var tab = tabPanel.tabs('getSelected');
      //alert("tab选项卡选中按钮的title:"+tab.panel('options').title);      
      var url = $(tab.panel('options').content).attr('src');
      tabPanel.tabs('update', {
        tab: tab,
        options: {
          content: createFrame(url) //创建Frame标签
        }
      });
    };
   function createFrame(url) {
      return '<iframe src="' + url + '" frameborder="0" style="height:100%;width:100%;"></iframe>';
    };

找到问题的根本所在,那么在上述方法中,只需要刷新时传入刷新按钮那个tab选项卡的标题,选中这个,然后再进行刷新操作。修改的代码如下:

/* title表示tab选项卡的标题 */
    function refeshCurrentTab(title) {
      var tabPanel = $('#tabContainer');
      var tab = tabPanel.tabs('getSelected');
      //alert("传入的参数title:"+title+",tab选项卡选中按钮的title:"+tab.panel('options').title);      
      var refeshTab = tabPanel.tabs("getTab", title);
      if (tab != refeshTab) {
        tabPanel.tabs("select", title);
        tab = refeshTab;
      }
      var url = $(tab.panel('options').content).attr('src');
      tabPanel.tabs('update', {
        tab: tab,
        options: {
          content: createFrame(url)
        }
      });
    };
   function createFrame(url) {
      return '<iframe src="' + url + '" frameborder="0" style="height:100%;width:100%;"></iframe>';
    };

以上所述是小编给大家介绍的关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
删除重复数据的算法
Nov 23 Javascript
JQuery表单验证插件EasyValidator用法分析
Nov 15 Javascript
javascript简单实现图片预加载
Dec 03 Javascript
javascript中的遍历for in 以及with的用法
Dec 22 Javascript
jQuery实现简单的点赞效果
May 29 Javascript
Javascript实现鼠标框选操作  不是点击选取
Apr 14 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
Jun 28 Javascript
JS实现的input选择图片本地预览功能示例
Aug 29 Javascript
解决vue 表格table列求和的问题
Nov 06 Javascript
JS实现分页导航效果
Feb 19 Javascript
vue设置全局访问接口API地址操作
Aug 14 Javascript
vue $router和$route的区别详解
Dec 02 Vue.js
JavaScript html5利用FileReader实现上传功能
Mar 27 #Javascript
利用ES6语法重构React组件详解
Mar 02 #Javascript
深入理解在JS中通过四种设置事件处理程序的方法
Mar 02 #Javascript
JavaScript表单验证完美代码
Mar 02 #Javascript
js实现常见的工具条效果
Mar 02 #Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
Mar 02 #Javascript
jQuery给表格添加分页效果
Mar 02 #Javascript
You might like
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
2011/12/01 PHP
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
js实现楼层导航功能
2017/02/23 Javascript
用js将long型数据转换成date型或datetime型的实例
2017/07/03 Javascript
vue+ElementUI实现订单页动态添加产品数据效果实例代码
2017/07/13 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
解析Python中while true的使用
2015/10/13 Python
django rest framework之请求与响应(详解)
2017/11/06 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
keras 多任务多loss实例
2020/06/22 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
电焊工岗位职责
2014/03/06 职场文书
女生节标语
2014/06/26 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
Python实现自动玩连连看的脚本分享
2022/04/04 Python
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技