jQuery EasyUI实现右键菜单变灰不可用效果


Posted in Javascript onSeptember 24, 2015

首先,实现“除此之外全部关闭”变灰不可用。

当只打开一个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样式,设置了一下它的透明度使它变灰。

效果图:

jQuery EasyUI实现右键菜单变灰不可用效果

图一:除此之外全部关闭

第二,实现“当前页右侧全部关闭”变灰不可用。

当一个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" }); 
   }

效果图:

jQuery EasyUI实现右键菜单变灰不可用效果

 图二:当前页右侧全部关闭

第三,实现“当前页左侧全部关闭”变灰不可用。

这个跟第二个相反就行了,获得第一个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" }); 
   }

最后,实现的效果如下图

jQuery EasyUI实现右键菜单变灰不可用效果

图三:当前页左侧全部关闭

上面实现了三种情况下的变灰不可用的效果,当鼠标放到上面点击,右键菜单就会消失,其实解决的办法很简单,希望这篇文章可以给大家带来启发。

Javascript 相关文章推荐
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
Apr 20 Javascript
jQuery 关于伪类选择符的使用说明
Apr 24 Javascript
浅谈 jQuery 事件源码定位问题
Jun 18 Javascript
AngularJS表单编辑提交功能实例
Feb 13 Javascript
javascript实现别踩白块儿小游戏程序
Nov 22 Javascript
Bootstrap使用基础教程详解
Sep 05 Javascript
JavaScript数据结构之二叉树的删除算法示例
Apr 13 Javascript
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
js实现文件上传功能 后台使用MultipartFile
Sep 08 Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
Aug 02 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
Oct 28 Javascript
10个很棒的jQuery代码片段
Sep 24 #Javascript
JS模拟实现Select效果代码
Sep 24 #Javascript
JS基于面向对象实现的拖拽库实例
Sep 24 #Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
Sep 24 #Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
Sep 24 #Javascript
javascript同步服务器时间和同步倒计时小技巧
Sep 24 #Javascript
js中不同的height, top的区别对比
Sep 24 #Javascript
You might like
Php做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
2011/04/07 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
jQuery遮罩层实例讲解
2017/05/11 jQuery
微信小程序实现简单表格
2019/02/14 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
Python获取央视节目单的实现代码
2015/07/25 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
python日志记录模块实例及改进
2017/02/12 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
服务承诺口号
2014/05/22 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
介绍信如何写
2015/01/31 职场文书
行政复议决定书
2015/06/24 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
2016七一建党节慰问信
2015/11/30 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
创业计划书详解
2019/07/19 职场文书
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis