关于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 对话框和状态栏使用说明
Oct 25 Javascript
div模拟滚动条效果示例代码
Oct 16 Javascript
超简单JS二级、多级联动的简单实例
Feb 18 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
May 11 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
May 12 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
Nov 18 Javascript
jQuery实现字符串全部替换的方法【推荐】
Mar 09 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
Aug 17 Javascript
以v-model与promise两种方式实现vue弹窗组件
May 21 Javascript
JavaScript实现构造json数组的方法分析
Aug 17 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
Jul 24 Javascript
vue实现数据控制视图的原理解析
Jan 07 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数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
PHP 线程安全与非线程安全版本的区别深入解析
2013/08/06 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
vue + element-ui的分页问题实现
2018/12/17 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
2018/12/28 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
Python hashlib模块加密过程解析
2019/11/05 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
《最可爱的人》教学反思
2014/02/14 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
五年级上册复习计划
2015/01/19 职场文书
Python初识逻辑与if语句及用法大全
2021/08/07 Python