首頁  >  文章  >  web前端  >  jQuery EasyUI實作右鍵選單變灰不可用效果_jquery

jQuery EasyUI實作右鍵選單變灰不可用效果_jquery

WBOY
WBOY原創
2016-05-16 15:38:101544瀏覽

首先,實現「除此之外全部關閉」變灰不可用。

當只開啟一個Tab選項卡時,右鍵選單裡「除此之外全部關閉」就應該變灰不可用,這樣可以提示使用者沒有除這一個選項卡沒有其他的選項卡了。程式實作很簡單了,只要獲得開啟Tab選項卡的個數,如果個數為1,那麼就把「除此之外全部關閉」變灰不可用就行了。

var tabcount = $('#tabs').tabs('tabs').length; //tab选项卡的个数 
  if (tabcount <= 1) { 
    $('#mm-tabcloseother').attr("disabled", "disabled").css({ "cursor": "default", "opacity": "0.4" }); 
  } 
  else { 
    $('#mm-tabcloseother').removeAttr("disabled").css({ "cursor": "pointer", "opacity": "1" }); 
  } 

說明:在Firfox,Google,Opera瀏覽器裡,「disabled」的屬性不起作用,所以我加了一個CSS樣式,設定了一下它的透明度使它變灰。

效果圖:

圖一:除此之外全部關閉

第二,實現「目前頁右側全部關閉」變灰不可用。

當一個Tab選項卡的右側沒有選項卡的時候,這個Tab選項卡就應該變灰不可用。程式實作也不難,只要取得最後一個Tab選項卡的標題和目前右鍵選單所在的Tab選項卡的標題進行比較,如果一致,就把「目前頁右側全部關閉」變灰不可用。

var tabs = $('#tabs').tabs('tabs');   //获得所有的Tab选项卡 
var tabcount = tabs.length; //Tab选项卡的个数 
var lasttab = tabs[tabcount - 1]; //获得最后一个Tab选项卡 
var lasttitle = lasttab.panel('options').tab.text(); //最后一个Tab选项卡的Title 
var currtab_title = $('#mm').data("currtab"); //当前Tab选项卡的Title 
 
   if (lasttitle == currtab_title) { 
     $('#mm-tabcloseright').attr("disabled", "disabled").css({ "cursor": "default", "opacity": "0.4" }); 
   } 
   else { 
     $('#mm-tabcloseright').removeAttr("disabled").css({ "cursor": "pointer", "opacity": "1" }); 
   } 

效果圖:

 圖二:目前頁右側全部關閉

第三,實現「目前頁左側全部關閉」變灰不可用。

這個跟第二個相反就行了,獲得第一個Tab選項卡的標題和當前Tab選項卡的標題進行比較。

var onetab = tabs[0]; //第一个Tab选项卡 
var onetitle = onetab.panel('options').tab.text(); //第一个Tab选项卡的Title 
   if (onetitle == currtab_title) { 
     $('#mm-tabcloseleft').attr("disabled", "disabled").css({ "cursor": "default", "opacity": "0.4" }); 
   } 
   else { 
     $('#mm-tabcloseleft').removeAttr("disabled").css({ "cursor": "pointer", "opacity": "1" }); 
   } 

最後,實現的效果如下圖

圖三:目前頁左側全部關閉

上面實現了三種情況下的變灰不可用的效果,當滑鼠放在上面點擊,右鍵選單就會消失,其實解決的辦法很簡單,希望這篇文章可以給大家帶來啟發。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn