UI风格的Tab用于显示iframe。
本示例中符加了jQuery.contextMenu插件,我修改了其样式,使用了jQuery UI的皮肤
效果如下图:
初级应用示例:
HTML代码:
<div id="tabs"><ul></ul></div>
Javascript代码:
复制代码
代码如下:
<script type="text/javascript">
$(function () {
tabs = $('#tabs').cleverTabs()
tabs.add({
url:
'http://www.jb51.net',
label: 'think8848'
})
})
</script>
CleverTabs详细说明:
CleverTabs为所有Tab的容器
复制代码
代码如下:
var tabs
<script
type="text/javascript">
$(function () {
tabs =
$('#tabs').cleverTabs({
//是否安装右键菜单(默认: true)
setupContextMenu: true,
//右键菜单定义, 右键菜单功能由jquery.contextMenu插件提供
//详见:
http://abeautifulsite.net/2008/09/jquery-context-menu-plugin/
//本插件中对原contextMenu插件中的样式做了修改,使用了jQuery UI皮肤
contextMenu: {
element:
$('#contextMenuElementId'),
handler: function (action, el, pos) { /*do
something...*/ }
},
//开启Tab后是否锁定(不允许关闭,默认: false)
lock: false,
//开启Tab后是否禁用(不允许激活和 *** 作iframe内容,默认: false)
disable: false,
//当tabs中只有一个Tab时,是否锁定该Tab(默认: true)
lockOnlyOne: true,
//显示iframe的容器(默认创建在tabs元素中)
panelContainer:
$('#panelContainerElementId')/*,
其中
tabHeaderTemplate: '',
//(Tab用于控制的头模板)
tabPanelTemplate: '', //(Tab用于显示的Panel模板)
uidGenerator:
function() {} //(Tab唯一id生成器)
功能现在不启用,等有时间完善后再启用*/
})
tabs.add({
url: 'http://www.jb51.net',
label: 'think8848'
})
})
</script>
CleverTabs.add方法:添加一个新的Tab并使之成为激活状态,如果将要添加的url已经存在,则会激活该Tab
复制代码
代码如下:
<script type="text/javascript">
var tabs = ('#tabs').cleverTabs()
tabs.add({
//必须是在tabs内唯一的id
id: 'uniqueId',
//将要在iframe的src属性设置的值
url: 'iframe.src',
//显示在Tab头上的文字
label: 'tab header',
//关闭本Tab时需要刷新的Tab的url(默认: null)
closeREfresh: 'tab url',
//关闭本Tab时需要激活的Tab的url(默认: null)
closeActivate: 'tab url',
//关闭本Tab时需要执行的回调函数
callback: function () {
/*do something*/ }
})
</script>
CleverTabs.getCurrentTab方法:
获取当前处于激活状态的Tab
复制代码
代码如下:
<script type="text/javascript">
var
tabs = ('#tabs').cleverTabs()
var tab = tabs.getCurrentTab()
</script>
CleverTabs.getTabByUrl方法:
获取指定url的Tab实例
复制代码
代码如下:
<script type="text/javascript">
var tabs = ('#tabs').cleverTabs()
var tab =
tabs.getTabByUrl('http://www.jb51.net')
</script>
CleverTabs.clear方法:
关闭tabs内所有未锁定的Tab
复制代码
代码如下:
<script type="text/javascript">
var
tabs = ('#tabs').cleverTabs()
var tab = tabs.clear()
</script>
CleverTab.deactivate方法:
使Tab页面处于未激活状态,但不建议在代码中使用
CleverTab.prevTab方法:
获取该Tab之前的Tab
复制代码
代码如下:
<script type="text/javascript">
var
tabs = ('#tabs').cleverTabs()
var tab =
tabs.getTabByUrl('http://www.jb51.net')
var prevTab = tab.prevTab()
</script>
CleverTab.nextTab方法:
获取该Tab之后的Tab
复制代码
代码如下:
<script type="text/javascript">
var
tabs = ('#tabs').cleverTabs()
var tab =
tabs.getTabByUrl('http://www.jb51.net')
var prevTab = tab.nextTab()
</script>
CleverTab.kill方法:
从tabs中移移该Tab
复制代码
代码如下:
<script type="text/javascript">
var
tabs = ('#tabs').cleverTabs()
var tab =
tabs.getTabByUrl('http://www.jb51.net')
tab.kill()
</script>
CleverTab.refresh方法:
刷新该Tab的iframe中的内容
复制代码
代码如下:
<script type="text/javascript">
var
tabs = ('#tabs').cleverTabs()
var tab =
tabs.getTabByUrl('http://www.jb51.net')
tab.refresh()
</script>
CleverTab.setDisable方法:
设置该Tab的disabled属性,设置disabled为true后,自动设置该Tab的locked属性为true
复制代码
代码如下:
<script type="text/javascript">
var
tabs = ('#tabs').cleverTabs()
var tab =
tabs.getTabByUrl('http://www.jb51.net')
//参数true为禁用,false或不提供值为启用
tab.setDisable(true)
</script>
CleverTab.setLock方法:
设置该Tab的locked属性,设置locked为true后,该Tab的不允许关闭
复制代码
代码如下:
<script type="text/javascript">
var
tabs = ('#tabs').cleverTabs()
var tab =
tabs.getTabByUrl('http://www.jb51.net')
//参数true为锁定,false或不提供值为解锁
tab.setLock(true)
</script>
$("#tab").tabs(".tabContent", {tabs: "input"
})
试试把这上面的 tabs 功能定义为一个 function
例如
function tabs_run() {
....
}
然後在 click function 里面捕捉 event 完结时侯再次呼叫这个 tabs_run()
例如
$('#add').live('click', function() {
.....
tabs_run()
}
不过我疑惑了,你的 tabContent 没有设置 rel 或者 id… Tabs 是怎样侦测 index 的呢?
点击哪个 <li>会 load 哪个 tabContent 呢?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)