关于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 相关文章推荐
javascript 可以拖动的DIV(二)
Jun 26 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
May 14 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
Nov 10 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
Jan 16 Javascript
jquery attr方法获取input的checked属性问题
May 26 Javascript
JavaScript对象反射用法实例
Apr 17 Javascript
JavaScript中日常收集常见的10种错误(推荐)
Jan 08 Javascript
Vue实现选择城市功能
May 27 Javascript
史上最全JavaScript常用的简写技巧(推荐)
Aug 17 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
Jan 30 Javascript
Vue中保存数据到磁盘文件的方法
Sep 06 Javascript
node.js环境搭建图文详解
Sep 19 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
咖啡的种类和口感
2021/03/03 新手入门
elgg 获取文件图标地址的方法
2010/03/20 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
浅谈JavaScript中面向对象技术的模拟
2006/09/25 Javascript
javascript 获取表单file全路径
2009/12/31 Javascript
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
纯Javascript实现ping功能的方法
2015/03/20 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
vue数据初始化initState的实例详解
2019/04/11 Javascript
jQuery实现的图片点击放大缩小功能案例
2020/01/02 jQuery
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
[17:36]VG战队纪录片
2014/08/21 DOTA
理解python多线程(python多线程简明教程)
2014/06/09 Python
Python多线程处理实例详解【单进程/多进程】
2019/01/30 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
python和php学习哪个更有发展
2020/06/17 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
当当网软件测试笔试题
2015/11/24 面试题
大型晚会策划方案
2014/02/06 职场文书
物流业务员岗位职责
2014/02/08 职场文书
喝酒检查书范文
2014/02/23 职场文书
陕西导游词
2015/02/04 职场文书
八年级作文之友情
2019/11/25 职场文书