- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) >
- jQuery EasyUI中刷新Tab選項卡后一個(gè)頁(yè)面變形怎么辦
這篇文章主要介紹了jQuery EasyUI中刷新Tab選項卡后一個(gè)頁(yè)面變形怎么辦,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著(zhù)大家一起了解一下。
書(shū)寫(xiě)jQuery EasyUI Tab 樣例時(shí),如果刷新前面的Tab 選項卡,某一個(gè)Tab 選項卡里面的頁(yè)面布局變亂。如下面圖片所示:
剛開(kāi)始打開(kāi)時(shí)頁(yè)面布局正確:
此時(shí)我們在第二個(gè)選項卡里面,點(diǎn)擊第一個(gè)頁(yè)面的刷新按鈕,一直刷新,然后切換回來(lái)再看看頁(yè)面,如下圖:
但是首頁(yè)選項卡的頁(yè)面是正常的。
為了便于解釋說(shuō)明,這里用第一個(gè)選項卡代表 “首頁(yè)”,第二個(gè)選項卡代表”子菜單10”
出現這種情況的問(wèn)題根本原因在于,你在第二個(gè)選項卡里面,點(diǎn)擊其它第一個(gè)選項卡刷新按鈕時(shí),其實(shí)刷新的時(shí)第二個(gè)選項頁(yè)面內容,當你鼠標離開(kāi)你第一個(gè)選項卡刷新按鈕時(shí) ,此時(shí)才選中了第一個(gè)選項卡,而這時(shí)候第二個(gè)選項卡還沒(méi)有渲染完畢,才導致出現這樣的情況。驗證過(guò)程,這是使用的是驗證選項卡的title.
打開(kāi)兩個(gè)選項卡,一個(gè)”首頁(yè)”,一個(gè)”子菜單10”選項卡,切換到”子菜單10”選項卡,然后點(diǎn)擊”首頁(yè)”選項卡的刷新按鈕,彈出的結果如下的圖,可見(jiàn)在鼠標點(diǎn)擊的過(guò)程中,tab 里面選中的還是”子菜單10”選項卡,并不是我們看到的”首頁(yè)”選項卡。
出現上圖問(wèn)題的錯誤代碼如下:
/* 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) //創(chuàng )建Frame標簽 } }); }; function createFrame(url) { return '<iframe src="' + url + '" frameborder="0" ></iframe>'; };
找到問(wèn)題的根本所在,那么在上述方法中,只需要刷新時(shí)傳入刷新按鈕那個(gè)tab選項卡的標題,選中這個(gè),然后再進(jìn)行刷新操作。修改的代碼如下:
/* 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" ></iframe>'; };
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系站長(cháng)郵箱:ts@56dr.com進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2 建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站