`

jQuery 选项卡 CleverTabs

阅读更多

CleverTabs是一款jQuery插件,所需jQuery版本:1.6.1,jQuery UI样式版本:1.8.13;其功能为创建jQuery UI风格的Tab用于显示iframe。

本示例中符加了jQuery.contextMenu插件,我修改了其样式,使用了jQuery UI的皮肤

运行一下

效果如下图:

初级应用示例:

HTML代码:

  1. <div id="tabs"><ul></ul></div>
复制

Javascript代码:

  1. <script type="text/javascript">
  2. $(function(){
  3. tabs = $('#tabs').cleverTabs();
  4. tabs.add({
  5. url:'http://think8848.cnblogs.com',
  6. label:'think8848'
  7. });
  8. });
  9. </script>
复制

CleverTabs详细说明:

CleverTabs为所有Tab的容器            

  1. var tabs;
  2. <script type="text/javascript">
  3. $(function(){
  4. tabs = $('#tabs').cleverTabs({
  5. //是否安装右键菜单(默认: true)
  6. setupContextMenu:true,
  7. //右键菜单定义, 右键菜单功能由jquery.contextMenu插件提供
  8. //详见: http://abeautifulsite.net/2008/09/jquery-context-menu-plugin/
  9. //本插件中对原contextMenu插件中的样式做了修改,使用了jQuery UI皮肤
  10. contextMenu:{
  11. element: $('#contextMenuElementId'),
  12. handler:function(action, el, pos){/*do something...*/}
  13. },
  14. //开启Tab后是否锁定(不允许关闭,默认: false)
  15. lock:false,
  16. //开启Tab后是否禁用(不允许激活和操作iframe内容,默认: false)
  17. disable:false,
  18. //当tabs中只有一个Tab时,是否锁定该Tab(默认: true)
  19. lockOnlyOne:true,
  20. //显示iframe的容器(默认创建在tabs元素中)
  21. panelContainer: $('#panelContainerElementId')/*,
  22. 其中
  23. tabHeaderTemplate: '', //(Tab用于控制的头模板)
  24. tabPanelTemplate: '', //(Tab用于显示的Panel模板)
  25. uidGenerator: function() {} //(Tab唯一id生成器)
  26. 功能现在不启用,等有时间完善后再启用*/
  27. });
  28. tabs.add({
  29. url:'http://think8848.cnblogs.com',
  30. label:'think8848'
  31. });
  32. });
  33. </script>
复制

CleverTabs.add方法

添加一个新的Tab并使之成为激活状态,如果将要添加的url已经存在,则会激活该Tab           

  1. <script type="text/javascript">
  2. var tabs =('#tabs').cleverTabs();
  3. tabs.add({
  4. //必须是在tabs内唯一的id
  5. id:'uniqueId',
  6. //将要在iframe的src属性设置的值
  7. url:'iframe.src',
  8. //显示在Tab头上的文字
  9. label:'tab header',
  10. //关闭本Tab时需要刷新的Tab的url(默认: null)
  11. closeREfresh:'tab url',
  12. //关闭本Tab时需要激活的Tab的url(默认: null)
  13. closeActivate:'tab url',
  14. //关闭本Tab时需要执行的回调函数
  15. callback:function(){/*do something*/}
  16. });
  17. </script>
复制

CleverTabs.getCurrentTab方法

获取当前处于激活状态的Tab            

  1. <script type="text/javascript">
  2. var tabs =('#tabs').cleverTabs();
  3. var tab = tabs.getCurrentTab();
  4. </script>
复制

CleverTabs.getTabByUrl方法

获取指定url的Tab实例 

  1. <script type="text/javascript">
  2. var tabs =('#tabs').cleverTabs();
  3. var tab = tabs.getTabByUrl('http://think8848.cnblogs.com');
  4. </script>
复制

CleverTabs.clear方法

关闭tabs内所有未锁定的Tab            

  1. <script type="text/javascript">
  2. var tabs =('#tabs').cleverTabs();
  3. var tab = tabs.clear();
  4. </script>
复制

CleverTab.deactivate方法

使Tab页面处于未激活状态,但不建议在代码中使用 
CleverTab.prevTab方法: 
获取该Tab之前的Tab            

  1. <script type="text/javascript">
  2. var tabs =('#tabs').cleverTabs();
  3. var tab = tabs.getTabByUrl('http://think8848.cnblogs.com');
  4. var prevTab = tab.prevTab();
  5. </script>
复制

CleverTab.nextTab方法

获取该Tab之后的Tab

  1. <script type="text/javascript">
  2. var tabs =('#tabs').cleverTabs();
  3. var tab = tabs.getTabByUrl('http://think8848.cnblogs.com');
  4. var prevTab = tab.nextTab();
  5. </script>
复制

CleverTab.kill方法

从tabs中移移该Tab            

  1. <script type="text/javascript">
  2. var tabs =('#tabs').cleverTabs();
  3. var tab = tabs.getTabByUrl('http://think8848.cnblogs.com');
  4. tab.kill();
  5. </script>
复制

CleverTab.refresh方法

刷新该Tab的iframe中的内容            

  1. <script type="text/javascript">
  2. var tabs =('#tabs').cleverTabs();
  3. var tab = tabs.getTabByUrl('http://think8848.cnblogs.com');
  4. tab.refresh();
  5. </script>
复制

CleverTab.setDisable方法

设置该Tab的disabled属性,设置disabled为true后,自动设置该Tab的locked属性为true            

  1. <script type="text/javascript">
  2. var tabs =('#tabs').cleverTabs();
  3. var tab = tabs.getTabByUrl('http://think8848.cnblogs.com');
  4. //参数true为禁用,false或不提供值为启用
  5. tab.setDisable(true);
  6. </script>
复制

CleverTab.setLock方法

设置该Tab的locked属性,设置locked为true后,该Tab的不允许关闭            

  1. <script type="text/javascript">
  2. var tabs =('#tabs').cleverTabs();
  3. var tab = tabs.getTabByUrl('http://think8848.cnblogs.com');
  4. //参数true为锁定,false或不提供值为解锁
  5. tab.setLock(true);
  6. </script>
复制

"改变不了别人,就改变自已吧"

在现在的页面中,多数情况下都可能由几部分组成,比如:Banner,Navigator,Content等,而为了工作区域变的更大,很多时候诸如Banner,Navigator或者其他的Panel都会收起来(Collapse),这个时候问题来了,当初我给tabs定义了width: 80%; height: 90%; 现在tabs的width和height发生了变化,可是内部的Tab页面还没有收到这个变化,它还是按照之前的size显示呢,更要命的是resize事件居然只有window和body才有,div居然不支持此事件!真不知道他们是怎么想的...在之前的cleverTabs中,我绑定了window.resize事件,但是问题在于我上面举的例子中,window的size实际上没有发生变化,甚至body也没有,但是tabs的大小发生变化了,在这种情况下,如果您使用了默认的tabPenelContainer,那一定得处理tabs的resize事件,可是tabs就是一个div嘛,哪来的resize?昨晚在睡前突然想到个办法,既然能"改变不了别人,就改变自已",那么就能"自已处理不了的事,就交给别人去处理吧"。把resize“外包”出去算了。于是对原来的代码做了修改,在CleverTabs构造函数中,为CleverTabs的prototype添加了resizePanelContainer函数,tabs自已不知道发生了resize事件,但总归有人知道发生了,谁知道谁调用,所谓的能者多劳?

CleverTabs.resizePanelContainer方法:

当使用CleverTabs默认的PanelContainer时,重新设置PanelContainer的size。

 

  1. <script type="text/javascript">
  2. var tabs;
  3. $(function(){
  4. tabs = $('#tabs').cleverTabs();
  5. $(window).bind('resize',function(){
  6. //当发生window.resize事件时,重新默认的tabs的PanelContainer的大小
  7. tabs.resizePanelContainer();
  8. });
  9. </script>
复制

 

 

 

1
0
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    jquery的CleverTabs插件

    **jQuery的CleverTabs插件**是一个非常实用的工具,专为增强网页中的标签页功能而设计。这个插件提供了一系列高级特性,如添加新标签、锁定特定标签以及动态刷新内容,极大地提升了用户体验。在本文中,我们将深入...

    tabs选项卡Jquery插件

    ### 三、使用JQuery选项卡插件步骤 1. **引入资源**:在HTML文档的`&lt;head&gt;`标签内引入JQuery库(如jQuery-1.x.x.min.js)和插件文件(如tabs.js)。 2. **HTML布局**:设置好选项卡的基本HTML结构,包括触发选项卡...

    jquery插件 tabs有实例

    在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了JavaScript代码的编写,使得DOM操作、事件处理、动画效果等任务变得更为便捷。而jQuery插件是jQuery生态系统的重要组成部分,它们扩展了jQuery的...

    福兴讯V587对讲机写频,调频软件 福摩斯特V587

    福兴讯V587对讲机写频,调频软件。福摩斯特V587对讲机写频,调频

    uni-helper_vite-plugin-uni-tai_1742854282.zip

    app开发

    LangChain框架详解:大语言模型应用开发的核心模块与实践

    内容概要:本文介绍了LangChain这一开源框架,它专为开发基于大型语言模型(LLM)的应用程序而设计。文章阐述了LangChain的核心理念、架构组成及其重要性。LangChain通过模块化设计解决了大模型应用开发中的效率低下和局限性问题,提供了标准化的接口和丰富的抽象层,使开发者能够轻松接入不同大模型并构建高效的应用程序。文中详细讲解了几个关键模块,包括Model I/O、Retrieval、Chains、Memory、Agents和Callbacks,以及如何安装和使用LangChain进行开发。此外,还展示了具体的代码示例,如如何调用OpenAI的API、构建LLMChain链路、设置回调机制和实现对话记忆功能。 适合人群:对大语言模型有一定了解并且有兴趣开发基于LLM的应用程序的研发人员和技术爱好者。 使用场景及目标:①帮助开发者快速掌握LangChain的基本概念和使用方法;②提供实用的代码示例,便于开发者实际操作;③解释如何通过LangChain克服大模型应用开发中的常见难题,如模型差异、输出不稳定等。 阅读建议:鉴于LangChain涉及较多的专业术语和技术细节,建议读者在阅读时结合官方文档和示例代码一起学习,尤其是对于核心模块的理解和实践。同时,关注GitHub上的最新版本更新,以获取最新的特性和改进。

    网络伴侣 iCompanion 2.1

    网络伴侣 iCompanion 2.1 网络计费软件,功能全面,支持ISDN

    移动开发_Flutter_简约聊天_纸聊APP_1742846962.zip

    app开发

    《基于YOLOv8的交通事故自动报警系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    《基于YOLOv8的八段锦练习指导系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    前端开发_UniApp_云开发_JsSdk_全端适配实战讲解_1742852088.zip

    app开发

    移动开发_Flutter_轮子推荐_开发效率提升_1742851671.zip

    移动开发_Flutter_轮子推荐_开发效率提升_1742851671.zip

    往复活塞杆密封件热弹流润滑仿真:Python实现与解析(复现论文,含详细可运行代码及解释)

    内容概要:本文详细介绍了往复活塞杆密封件在瞬态条件下热弹流润滑仿真的Python实现。首先定义了几何、材料和工况参数,然后分别构建了流体力学、热力学和固体力学模型。流体力学模型使用有限差分法求解瞬态雷诺方程,热力学模型考虑了温度和压力对粘度的影响,固体力学模型则采用了Mooney-Rivlin超弹性模型和Prony级数描述的粘弹性松弛。最后通过耦合求解实现了整个系统的时间积分,并绘制了液膜厚度和压力分布图。文中还讨论了模型的特点、简化假设以及扩展建议。 适合人群:机械工程领域的研究人员和技术人员,尤其是对密封件性能优化感兴趣的从业者。 使用场景及目标:适用于研究往复活塞杆密封件的工作机理及其在不同工况下的表现,帮助工程师理解和预测密封件的动态特性,从而改进设计和选材。 其他说明:该实现基于论文中的理论框架,但在实际应用时可能需要进一步调整和完善。

    人人商城V3-3.2.1版本.zip 亲测能用

    人人商城V3-3.2.1版本.zip 亲测能用

    《基于YOLOv8的灯光设备监测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    Java面向对象编程,出现的示例代码

    Java面向对象编程,出现的示例代码

    蓝桥杯python相关资源,真题,蓝桥杯,蓝桥杯Python练习系统题库,蓝桥杯Python练习系统题库

    蓝桥杯python,蓝桥杯python相关资源,真题,蓝桥杯,蓝桥杯Python练习系统题库,蓝桥杯Python练习系统题库

    fsfzdgdfrgbzgr

    rgrgdfsegfasgrsredgf

    《基于YOLOv8的冲浪运动分析系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

Global site tag (gtag.js) - Google Analytics