书写jQuery EasyUI Tab 样例时,如果刷新前面的Tab 选项卡,某一个Tab 选项卡里面的页面布局变乱。如下面图片所示:
刚开始打开时页面布局正确:
此时我们在第二个选项卡里面,点击第一个页面的刷新按钮,一直刷新,然后切换回来再看看页面,如下图:
但是首页选项卡的页面是正常的。
为了便于解释说明,这里用第一个选项卡代表 “首页”,第二个选项卡代表”子菜单10”
出现这种情况的问题根本原因在于,你在第二个选项卡里面,点击其它第一个选项卡刷新按钮时,其实刷新的时第二个选项页面内容,当你鼠标离开你第一个选项卡刷新按钮时 ,此时才选中了第一个选项卡,而这时候第二个选项卡还没有渲染完毕,才导致出现这样的情况。验证过程,这是使用的是验证选项卡的title.
打开两个选项卡,一个”首页”,一个”子菜单10”选项卡,切换到”子菜单10”选项卡,然后点击”首页”选项卡的刷新按钮,弹出的结果如下的图,可见在鼠标点击的过程中,tab 里面选中的还是”子菜单10”选项卡,并不是我们看到的”首页”选项卡。
出现上图问题的错误代码如下:
代码如下 | 复制代码 |
/* title表示tab选项卡的标题 */ functionrefeshCurrentTab() { vartabPanel = $('#tabContainer');//存放tab选项卡的容器 vartab = tabPanel.tabs('getSelected'); //alert("tab选项卡选中按钮的title:"+tab.panel('options').title); varurl = $(tab.panel('options').content).attr('src'); tabPanel.tabs('update', { tab: tab, options: { content: createFrame(url)//创建Frame标签 } }); }; functioncreateFrame(url) { return'<iframe src="'+ url +'" frameborder="0" style="height:100%;width:100%;">' }; |
找到问题的根本所在,那么在上述方法中,只需要刷新时传入刷新按钮那个tab选项卡的标题,选中这个,然后再进行刷新操作。修改的代码如下:
代码如下 | 复制代码 |
/* title表示tab选项卡的标题 */ functionrefeshCurrentTab(title) { vartabPanel = $('#tabContainer'); vartab = tabPanel.tabs('getSelected'); //alert("传入的参数title:"+title+",tab选项卡选中按钮的title:"+tab.panel('options').title); varrefeshTab = tabPanel.tabs("getTab", title); if(tab != refeshTab) { tabPanel.tabs("select", title); tab = refeshTab; } varurl = $(tab.panel('options').content).attr('src'); tabPanel.tabs('update', { tab: tab, options: { content: createFrame(url) } }); }; functioncreateFrame(url) { return'' }; |
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级