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选项卡的Titleif (onetitle == currtab_title) {$("#mm-tabcloseleft").attr("disabled", "disabled").css({ "cursor": "default", "opacity": "0.4" });}else {$("#mm-tabcloseleft").removeAttr("disabled").css({ "cursor": "pointer", "opacity": "1" });} 最后,实现的效果如下图
图三:当前页左侧全部关闭
上面实现了三种情况下的变灰不可用的效果,当鼠标放到上面点击,右键菜单就会消失,其实解决的办法很简单,希望这篇文章可以给大家带来启发。