實例代碼講解jquery easyui動態(tài)tab頁
通過使用 jQuery EasyUI 可以很容易地添加 Tabs。您只需要調(diào)用 'add' 方法即可。
function addTab(title, href,icon){ var tt = $('#tabs'); if (tt.tabs('exists', title)){//如果tab已經(jīng)存在,則選中并刷新該tab tt.tabs('select', title); refreshTab({tabTitle:title,url:href}); } else { if (href){ var content = '<iframe scrolling="no" frameborder="0" src="'+href+'" style="width:100%;height:100%;"></iframe>'; } else { var content = '未實現(xiàn)'; } tt.tabs('add',{ title:title, closable:true, content:content, iconCls:icon||'icon-default' }); } } /** * 刷新tab * @cfg *example: {tabTitle:'tabTitle',url:'refreshUrl'} *如果tabTitle為空,則默認刷新當前選中的tab *如果url為空,則默認以原來的url進行reload */ function refreshTab(cfg){ var refresh_tab = cfg.tabTitle?$('#tabs').tabs('getTab',cfg.tabTitle):$('#tabs').tabs('getSelected'); if(refresh_tab && refresh_tab.find('iframe').length > 0){ var _refresh_ifram = refresh_tab.find('iframe')[0]; var refresh_url = cfg.url?cfg.url:_refresh_ifram.src; //_refresh_ifram.src = refresh_url; _refresh_ifram.contentWindow.location.href=refresh_url; }
以上代碼簡單易懂,代碼就是注釋,有疑問歡迎給我留言。
ps: jQuery Easyui 的tabs插件有兩種方式加載某個tab(標簽頁)上的內(nèi)容:“href遠程請求”和“content本地內(nèi)容”。
兩者特點:
href方式加載數(shù)據(jù)的特點:
被加載的頁面只有body元素內(nèi)部的內(nèi)容才會被加載,也就是jQuery的ajax請求的只是html片段。
加載遠程url時有遮罩效果,也就是“等待中……”效果,用戶體驗較好。
當加載的頁面布局較為復雜,或者有較多的js腳本需要運行的時候,編碼往往就需要謹慎了,容易出問題,后面會詳細談。
content方式加載數(shù)據(jù)的特點:
比較靈活,你可以在腳本里面拼寫html代碼,然后賦值給tab的content屬性,不過這種寫法會使得代碼易讀性變差。
可以把iframe賦給content,把一個iframe嵌入也就沒有什么不能完成的了。
使用iframe會造成客戶端js重復加載,浪費資源,比如說你主頁面要引用easyui的庫,你的iframe也要引用,浪費就產(chǎn)生了。
相關(guān)文章
BootStrap下jQuery自動完成的樣式調(diào)整
這篇文章主要介紹了BootStrap下jQuery自動完成的樣式調(diào)整的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-05-05