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作一个通用向导说明
Aug 30 Javascript
疯狂Jquery第一天(Jquery学习笔记)
May 11 Javascript
jquery获取当前点击对象的value方法
Feb 28 Javascript
JavaScript中跨域调用Flash的方法
Aug 11 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
Sep 06 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
Sep 20 Javascript
javascript基础练习之翻转字符串与回文
Feb 20 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
Apr 14 Javascript
将 vue 生成的 js 上传到七牛的实例
Jul 28 Javascript
vue 兄弟组件的信息传递的方法实例详解
Aug 30 Javascript
小程序自定义模板实现吸顶功能
Jan 08 Javascript
vue简单封装axios插件和接口的统一管理操作示例
Feb 02 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获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
2012/10/03 PHP
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014/06/26 PHP
PHP实现生成唯一会员卡号
2015/08/24 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
laravel 数据验证规则详解
2019/10/23 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
理解JavaScript的prototype属性
2012/02/11 Javascript
使用script的src实现跨域和类似ajax效果
2014/11/10 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
Angular 4依赖注入学习教程之简介(一)
2017/06/04 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
关于Vue在ie10下空白页的debug小结
2018/05/02 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
python中的一些类型转换函数小结
2013/02/10 Python
详解python的几种标准输出重定向方式
2016/08/15 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
python实现朴素贝叶斯分类器
2018/03/28 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
企业办公室主任岗位职责
2014/02/19 职场文书
领导失职检讨书
2014/02/24 职场文书
授权委托书格式模板
2014/04/03 职场文书
保安公司服务承诺书
2014/05/28 职场文书
Python中的np.argmin()和np.argmax()函数用法
2021/06/02 Python
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers