关于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 相关文章推荐
asp批量修改记录的代码
Jun 25 Javascript
JS URL传中文参数引发的乱码问题
Sep 02 Javascript
一些常用且实用的原生JavaScript函数
Sep 08 Javascript
jQuery下通过replace字符串替换实现大小图片切换
May 22 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
Sep 25 Javascript
老生常谈JavaScript 函数表达式
Sep 01 Javascript
javascript实现的左右无缝滚动效果
Sep 19 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
Jan 17 Javascript
JavaScript登录记住密码操作(超简单代码)
Mar 22 Javascript
如何理解Vue的render函数的具体用法
Aug 30 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
Dec 30 Javascript
JQuery发送ajax请求时中文乱码问题解决
Nov 14 jQuery
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
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
js 页面输出值
2008/11/30 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
2016/05/13 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
2016/06/30 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
JS实现中文汉字按拼音排序的方法
2017/10/09 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
jquery操作select常见方法大全【7种情况】
2019/05/28 jQuery
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
vue自定义指令限制输入框输入值的步骤与完整代码
2020/08/30 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
对python中Librosa的mfcc步骤详解
2019/01/09 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
Python提取PDF内容的方法(文本、图像、线条等)
2019/09/25 Python
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
思想政治自我鉴定
2013/10/06 职场文书
大专应届生个人的自我评价
2013/11/21 职场文书
化工专业个人的求职信范文
2013/11/28 职场文书
就业自荐信
2013/12/04 职场文书
经销商会议欢迎词
2014/01/11 职场文书
党员一帮一活动总结
2014/07/08 职场文书
大学课外活动总结
2014/07/09 职场文书
员工培训协议书
2014/09/15 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
Python max函数中key的用法及原理解析
2021/06/26 Python
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server