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 相关文章推荐
firefox插件Firebug的使用教程
Jan 02 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
Oct 27 Javascript
Json实现异步请求提交评论无需跳转其他页面
Oct 11 Javascript
jQuery动画效果相关方法实例分析
Dec 31 Javascript
jQuery实现二级下拉菜单效果
Jan 05 Javascript
javascript的正则匹配方法学习
Feb 24 Javascript
JS对HTML表格进行增删改操作
Aug 22 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
Aug 29 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
element-ui使用导航栏跳转路由的用法详解
Aug 22 Javascript
使用vue构建多页面应用的示例
Oct 22 Javascript
Nest.js散列与加密实例详解
Feb 24 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表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
详解php用static方法的原因
2018/09/12 PHP
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
详解vue中引入stylus及报错解决方法
2017/09/22 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
详解基于Node.js的HTTP/2 Server实践
2018/05/31 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
2019/04/28 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
2020/08/05 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
2020/11/09 jQuery
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
python随机数分布random测试
2018/08/27 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
自我鉴定200字
2013/10/28 职场文书
小学优秀辅导员事迹材料
2014/05/11 职场文书
群众路线领导对照材料
2014/08/23 职场文书
简单的辞职信模板
2015/05/12 职场文书
出生证明范本
2015/06/15 职场文书
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers