关于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 相关文章推荐
jMessageBox 基于jQuery的窗口插件
Dec 09 Javascript
javascript实现控制浏览器全屏
Mar 30 Javascript
非常棒的jQuery图片轮播效果
Apr 17 Javascript
js 判断各种数据类型的简单方法(推荐)
Aug 29 Javascript
js Canvas绘制圆形时钟教程
Feb 06 Javascript
Kindeditor单独调用多图上传实例
Jul 31 Javascript
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
原生JS实现简单的倒计时功能示例
Aug 30 Javascript
Angular5中状态管理的实现
Sep 03 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
Nov 23 Javascript
vue中jsonp插件的使用方法示例
Sep 10 Javascript
js 实现验证码输入框示例详解
Sep 23 Javascript
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
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
jQuery使用正则验证15/18身份证的方法示例
2017/04/27 jQuery
js实现音乐播放控制条
2017/09/09 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
jQuery访问json文件中数据的方法示例
2019/01/28 jQuery
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
在Vue中使用antv的示例代码
2020/06/29 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
python实现socket端口重定向示例
2014/02/10 Python
python实现简易通讯录修改版
2018/03/13 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
传媒专业推荐信范文
2013/11/23 职场文书
十佳家长事迹材料
2014/08/26 职场文书
计划生育工作汇报
2014/10/28 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
先进个人材料怎么写
2014/12/30 职场文书
年度考核个人总结
2015/03/06 职场文书
聘任合同书
2015/09/21 职场文书
html5调用摄像头截图功能
2022/01/18 Javascript
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技