DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> 為EasyUI的Tab標簽添加右鍵菜單的方法
為EasyUI的Tab標簽添加右鍵菜單的方法
編輯:JQuery特效代碼     
前期的准備工作:
1、下載DEMO源碼,並升級為最新版本(jquery 1.7.2,Easyui 1.2.6),直接替換就可以啦,升級easyui 是的要把css js theme 全部替換
2、在首頁的HTML代碼中:將
. 代碼如下:
<div id="mm" class="easyui-menu" style="width:150px;">
<div id="mm-tabupdate">刷新</div>
<div class="menu-sep"></div>
<div id="mm-tabclose">關閉</div>
<div id="mm-tabcloseall">全部關閉</div>
<div id="mm-tabcloseother">除此之外全部關閉</div>
<div class="menu-sep"></div>
<div id="mm-tabcloseright">當前頁右側全部關閉</div>
<div id="mm-tabcloseleft">當前頁左側全部關閉</div>
<div class="menu-sep"></div>
<div id="mm-exit">退出</div>
</div>

改為:
. 代碼如下:
<div id="mm" class="easyui-menu" style="width:150px;">
<div id="refresh">刷新</div>
<div class="menu-sep"></div>
<div id="close">關閉</div>
<div id="closeall">全部關閉</div>
<div id="closeother">除此之外全部關閉</div>
<div class="menu-sep"></div>
<div id="closeright">當前頁右側全部關閉</div>
<div id="closeleft">當前頁左側全部關閉</div>
<div class="menu-sep"></div>
<div id="exit">退出</div>
</div>

outlook2.js 中添加新方法如下:
. 代碼如下:
function closeTab(action)
{
var alltabs = $('#tabs').tabs('tabs');
var currentTab =$('#tabs').tabs('getSelected');
var allTabtitle = [];
$.each(alltabs,function(i,n){
allTabtitle.push($(n).panel('options').title);
})
switch (action) {
case "refresh":
var iframe = $(currentTab.panel('options').content);
var src = iframe.attr('src');
$('#tabs').tabs('update', {
tab: currentTab,
options: {
content: createFrame(src)
}
})
break;
case "close":
var currtab_title = currentTab.panel('options').title;
$('#tabs').tabs('close', currtab_title);
break;
case "closeall":
$.each(allTabtitle, function (i, n) {
if (n != onlyOpenTitle){
$('#tabs').tabs('close', n);
}
});
break;
case "closeother":
var currtab_title = currentTab.panel('options').title;
$.each(allTabtitle, function (i, n) {
if (n != currtab_title && n != onlyOpenTitle)
{
$('#tabs').tabs('close', n);
}
});
break;
case "closeright":
var tabIndex = $('#tabs').tabs('getTabIndex', currentTab);
if (tabIndex == alltabs.length - 1){
alert('親,後邊沒有啦 ^@^!!');
return false;
}
$.each(allTabtitle, function (i, n) {
if (i > tabIndex) {
if (n != onlyOpenTitle){
$('#tabs').tabs('close', n);
}
}
});
break;
case "closeleft":
var tabIndex = $('#tabs').tabs('getTabIndex', currentTab);
if (tabIndex == 1) {
alert('親,前邊那個上頭有人,咱惹不起哦。 ^@^!!');
return false;
}
$.each(allTabtitle, function (i, n) {
if (i < tabIndex) {
if (n != onlyOpenTitle){
$('#tabs').tabs('close', n);
}
}
});
break;
case "exit":
$('#closeMenu').menu('hide');
break;
}
}

將js中tabCloseEven 方法 改為
. 代碼如下:
function tabCloseEven() {
$('#mm').menu({
onClick: function (item) {
closeTab(item.id);
}
});
return false;
}

這樣就OK啦,代碼比原來優雅多啦!
調用刷新,關閉當前標簽時,就調用 closeTab(‘action') //action 可以為 refresh(刷新),close(關閉)
iframe 中使用時,要這麼屎 top.closeTab('action');
點此下載最新的Easyui應用實例
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved