新聞中心
使用過(guò)EasyUI的朋友想必都知道瘋狂秀才寫的后臺(tái)界面吧,作為一個(gè)初學(xué)者我不敢妄自評(píng)論它的好壞,不過(guò)它確實(shí)給我們提供了一個(gè)很好框架,只要在它的基礎(chǔ)上進(jìn)行修改,基本上都可以滿足我們開發(fā)的需要。

我們一直強(qiáng)調(diào)網(wǎng)站建設(shè)、網(wǎng)站制作對(duì)于企業(yè)的重要性,如果您也覺(jué)得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過(guò)程中的有力推手。專業(yè)網(wǎng)站制作公司不一定是大公司,成都創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。
知道“瘋狂秀才”寫的后臺(tái)界面已經(jīng)有一段時(shí)間了,直到昨天才好好的研究了一下。在測(cè)試的過(guò)程中,我發(fā)現(xiàn)了一個(gè)自認(rèn)為不友好的地方,舉個(gè)例子:只剩下一個(gè)Tab選項(xiàng)卡時(shí),點(diǎn)擊“除此之外全部關(guān)閉”,接著會(huì)彈出兩個(gè)提示框,提示“后邊沒(méi)有了~~”和“到頭了前邊沒(méi)有了~~”。我平時(shí)經(jīng)常使用VS作為開發(fā)工具,使用VS的朋友也會(huì)注意到,當(dāng)只有一個(gè)頁(yè)面打開時(shí),右擊“Close All But This”是變灰不可用的,我感覺(jué)這樣更加的人性化。于是,我就試著實(shí)現(xiàn)這一功能。“瘋狂秀才”給加了注釋,所以在研究代碼的時(shí)候很方便,在這里真的感謝“瘋狂秀才”所做的工作。在“outlook2.js”這個(gè)文件中有一個(gè)函數(shù)“tabClose()”,里面清清楚楚的加了這樣一條注釋 /*為選項(xiàng)卡綁定右鍵*/。我看到這里就高興了,要實(shí)現(xiàn)我的功能就是在這里面了。
首先,實(shí)現(xiàn)“除此之外全部關(guān)閉”變灰不可用。
當(dāng)只打開一個(gè)Tab選項(xiàng)卡時(shí),右鍵菜單里“除此之外全部關(guān)閉”就應(yīng)該變灰不可用,這樣可以提示用戶沒(méi)有除這一個(gè)選項(xiàng)卡沒(méi)有其他的選項(xiàng)卡了。程序?qū)崿F(xiàn)很簡(jiǎn)單了,只要獲得打開Tab選項(xiàng)卡的個(gè)數(shù),如果個(gè)數(shù)為1,那么就把“除此之外全部關(guān)閉”變灰不可用就行了。
- var tabcount = $('#tabs').tabs('tabs').length; //tab選項(xiàng)卡的個(gè)數(shù)
- if (tabcount <= 1) {
- $('#mm-tabcloseother').attr("disabled", "disabled").css({ "cursor": "default", "opacity": "0.4" });
- }
- else {
- $('#mm-tabcloseother').removeAttr("disabled").css({ "cursor": "pointer", "opacity": "1" });
- }
說(shuō)明:在Firfox,Google,Opera瀏覽器里,“disabled”的屬性不起作用,所以我加了一個(gè)CSS樣式,設(shè)置了一下它的透明度使它變灰。
第二,實(shí)現(xiàn)“當(dāng)前頁(yè)右側(cè)全部關(guān)閉”變灰不可用。
當(dāng)一個(gè)Tab選項(xiàng)卡的右側(cè)沒(méi)有選項(xiàng)卡的時(shí)候,這個(gè)Tab選項(xiàng)卡就應(yīng)該變灰不可用。程序?qū)崿F(xiàn)也不難,只要獲得最后一個(gè)Tab選項(xiàng)卡的標(biāo)題和當(dāng)前右鍵菜單所在的Tab選項(xiàng)卡的標(biāo)題進(jìn)行比較,如果一致,就把“當(dāng)前頁(yè)右側(cè)全部關(guān)閉”變灰不可用。
- var tabs = $('#tabs').tabs('tabs'); //獲得所有的Tab選項(xiàng)卡
- var tabcount = tabs.length; //Tab選項(xiàng)卡的個(gè)數(shù)
- var lasttab = tabs[tabcount - 1]; //獲得最后一個(gè)Tab選項(xiàng)卡
- var lasttitle = lasttab.panel('options').tab.text(); //最后一個(gè)Tab選項(xiàng)卡的Title
- var currtab_title = $('#mm').data("currtab"); //當(dāng)前Tab選項(xiàng)卡的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" });
- }
第三,實(shí)現(xiàn)“當(dāng)前頁(yè)左側(cè)全部關(guān)閉”變灰不可用。
這個(gè)跟第二個(gè)相反就行了,獲得第一個(gè)Tab選項(xiàng)卡的標(biāo)題和當(dāng)前Tab選項(xiàng)卡的標(biāo)題進(jìn)行比較。
- var onetab = tabs[0]; //第一個(gè)Tab選項(xiàng)卡
- var onetitle = onetab.panel('options').tab.text(); //第一個(gè)Tab選項(xiàng)卡的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" });
- }
最后,實(shí)現(xiàn)的效果如下圖
圖一:除此之外全部關(guān)閉 圖二:當(dāng)前頁(yè)右側(cè)全部關(guān)閉
圖三:當(dāng)前頁(yè)左側(cè)全部關(guān)閉
上面實(shí)現(xiàn)了三種情況下的變灰不可用的效果,當(dāng)鼠標(biāo)放到上面點(diǎn)擊,右鍵菜單就會(huì)消失,其實(shí)解決的辦法也很簡(jiǎn)單,只要在對(duì)應(yīng)的單擊事件里重新綁定右鍵菜單即可,這里就不給出代碼了。
作者:田念明
出處:http://www.cnblogs.com/nianming/archive/2011/07/25/2116146.html
【編輯推薦】
- 7月20款最新且極具創(chuàng)意的jQuery插件(附下載)
- 使用jQuery解析JSON數(shù)據(jù)
- 教你開發(fā)一款極為簡(jiǎn)單實(shí)用的jQuery圖表插件
- jQuery實(shí)戰(zhàn)開發(fā)表單驗(yàn)證與自動(dòng)完成提示插件
- jQuery給力插件大閱兵
文章標(biāo)題:實(shí)現(xiàn)jQueryEasyUI右鍵菜單變灰不可用效果
分享URL:http://www.dlmjj.cn/article/coccocp.html


咨詢
建站咨詢
