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 相关文章推荐
JavaScript 中的replace方法说明
Apr 13 Javascript
ASP.NET中AJAX 调用实例代码
May 03 Javascript
动态加载js和css(外部文件)
Apr 17 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
Jul 10 Javascript
jquery插件Jplayer使用方法简析
Apr 22 Javascript
设置jquery UI 控件的大小方法
Dec 12 Javascript
EasyUI为Numberbox添加blur事件的方法
Mar 05 Javascript
JS排序之冒泡排序详解
Apr 08 Javascript
整理一些最近经常遇到的前端面试题
Apr 25 Javascript
深入Vue-Router路由嵌套理解
Aug 13 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
Sep 16 Javascript
Vue一次性简洁明了引入所有公共组件的方法
Nov 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小程序自动提交到自助友情连接
2009/11/24 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
2010/05/15 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
Javascript 复制数组实现代码
2009/11/26 Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
JQuery获取浏览器窗口内容部分高度的代码
2012/02/24 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
使用js判断控件是否获得焦点
2014/01/03 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
Python计算三维矢量幅度的方法
2015/06/15 Python
python实现RSA加密(解密)算法
2016/02/17 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
python实现图像拼接
2020/03/05 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
PHP如何去执行一个SQL语句
2016/03/05 面试题
C/C++程序员常见面试题一
2012/12/08 面试题
安全生产检讨书
2014/01/21 职场文书
幼儿园毕业寄语
2014/04/03 职场文书
警校毕业生自我评价
2014/04/06 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
工商局个人工作总结
2015/03/03 职场文书
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android