欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明_jquery

程序员文章站 2022-05-22 18:45:32
...
作者: think8848(公司主页: http://www.cleversoft.com, QQ: 166156888, Blog: http://think8848.cnblogs.com) 转载请保留此信息


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

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

效果如下图:

jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明_jquery
初级应用示例:
HTML代码:


    Javascript代码:
    复制代码 代码如下:



    CleverTabs详细说明:
    CleverTabs为所有Tab的容器
    复制代码 代码如下:

    var tabs;


    CleverTabs.add方法:添加一个新的Tab并使之成为激活状态,如果将要添加的url已经存在,则会激活该Tab
    复制代码 代码如下:



    CleverTabs.getCurrentTab方法:
    获取当前处于激活状态的Tab
    复制代码 代码如下:


    CleverTabs.getTabByUrl方法:
    获取指定url的Tab实例
    复制代码 代码如下:



    CleverTabs.clear方法:
    关闭tabs内所有未锁定的Tab
    复制代码 代码如下:


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


    CleverTab.nextTab方法:
    获取该Tab之后的Tab
    复制代码 代码如下:


    CleverTab.kill方法:
    从tabs中移移该Tab
    复制代码 代码如下:


    CleverTab.refresh方法:
    刷新该Tab的iframe中的内容
    复制代码 代码如下:


    CleverTab.setDisable方法:
    设置该Tab的disabled属性,设置disabled为true后,自动设置该Tab的locked属性为true
    复制代码 代码如下:


    CleverTab.setLock方法:
    设置该Tab的locked属性,设置locked为true后,该Tab的不允许关闭
    复制代码 代码如下:


    ------------------------------2011.06.27 更新---------------------------------
    "改变不了别人,就改变自已吧"
    在现在的页面中,多数情况下都可能由几部分组成,比如: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。
    复制代码 代码如下:



    演示 http://demo.jb51.net/js/2011/CleverTabs/index.htm
    源码下载 /201106/yuanma/CleverTabs.rar
    相关标签: jQuery Tab插件