时间:2021-05-26
虽然方便好用,但是个人觉得其在UI方面的表现不是太出彩,今天无意中看到jquery tools--一种基于jquery的UI表现框架,其UI功能展示风格类似(或模仿)flex。该框架提供了tabs(选项卡/页签)overlay(覆盖层),tooltip(提示框),scrollable(滚动信息栏),expose(突出显示),flahembed(视频播放嵌入)六大类功能(其官方网站自称为六大工具),这六大类功能又是每个功能都有自己的独立支持包,不相互干扰,用户完全可以跟据自己需要下载,这样就减少了js文件下载对页面加载速度的影响。虽然功能不是很全面,但是可称得上少而精--都是目前比较常用的功能,而且能很好的弥补jquery ui的一些不足,从一定程度上加强了Jquery的UI功能。其实最让我觉得欣赏的是那些类flex的风格,能在有效控制开发成本的情况下大大增强用户感受。
今天仔细看了jquery tools 的tabs,下面结合其官方doucmentation做一下总结。
首先给出操作的目标html代码:
复制代码 代码如下:
<body>
<ul class="tabs-t">
<li><a href="#first">tab1</a></li>
<li><a href="#second">tab2</a></li>
<li><a href="#third">tab3</a></li>
</ul>
<div class="tabsContent ">
<div>
<p>
Here you can see tabs in action. They are the most popular user-interface component on the web. And for good reason: they are intuitive to use, people are used to them, and above all your can organize your pages more friendly.
</p>
tabl content<a href="#second">open table2</a></div>
<div>
<p>
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed lorem. Aenean commodo pede a eros volutpat viverra. Pellentesque a nisl. Nullam et metus.
</p>
tab2 content<a href="#third">open table3</a></div>
<div>
<p>
Praesent dictum, velit vel adipiscing suscipit, metus nisl lobortis sem, nec elementum nibh urna non turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae.
</p>
tab3 content</div>
</div>
</body>
该功能是通过jqueryObject.tabs()方法来实现的,其中tabs方法提供以下三种方式:
1. $("ul.tabs-t").tabs("div.tabsContent>div")//该方法能简单的将tabs组织起来
2. $("ul.tabs-t").tabs("div.tabsContent>div" ,{config object}) //该方法通过配置对象将tabs组织起来,适合多样的tabs展示。
3. $("ul.tabs-t").tabs("div.tabsContent>div" ,callback function) //通过回调函数对tabs进行进一步操作。
下面就2中的config对象参数实现及描述做一下说明:
复制代码 代码如下:
current:'current',//为当前tab的增加的class名称,默认为current
effect:"fade",//每个tab的panel内容显示方式为从整体逐渐显示
//effect:"slide",//点击tab的panel出现在当前tab的panel下面,并覆盖掉当前panel
//effect:"horizontal",//当前tab的panel逐渐从右向左收缩并最终消失,点击panel的内容占据相应位置,比较适合水平导航
fadeInSpeed:1000,//设置panel显示的速度,设置该属性在effect置为fade时有效,默认值为200毫秒
event:"mouseover",//指定触发tab切换的事件,默认是单击鼠标,可选择的触发事件有“mouseover”,"dbclick"
history:true,//类似javascript的history功能,默认为false,当用户点击浏览器的前进后后退按钮后,如果此处设置为true,那么就会回退到上次点击的tab,而不是跳转到其他页面去
initialIndex:1,//设置默认显示的tab
tabs:"a",//设置tab对应的标签元素,默认为"a",这里也可以设为"li",该处相当于jquery的选择器
api:false,//设置当前tab所在容器的返回类型类型。如果为false(默认值),以jquery对象返回;否则,以js对象返回。如果存在多个值,返回最后一个值。
onBeforeClick:function( index){
//alert(this.getCurrentTab().text());//返回当前tab的名称
return true;
},//在tab被点击之前调用的函数,如果该函数返回false,那么该tab不会被触发;返回的是一个tab对象,对于该对象的操作,参见tab相关方法;改返回函数有一个参数,为当前tab的索引
onClick:function(index){
return true;
}//在tab被点击的时候调用的函数,其他用法同onBeforeClick
更直观的说明如下:属性名称默认值描述current'current'为当前tab的增加的class名称effectdefault'fade':每个tab的panel内容显示方式为从整体逐渐显示;面,并覆盖掉当前panel'slide':点击tab的panel出现在当前tab的panel下horizontal':当前tab的panel逐渐从右向左收缩并最终消失,点击panel的内容占据相应位置,比较适合水平导航fadeInSpeed200设置panel显示的速度,设置该属性在effect置为fade时有效,默认值为200毫秒event'click'指定触发tab切换的事件,默认是单击鼠标,可选择的触发事件有“mouseover”,"dbclick"historyFALSE类似javascript的history功能当用户点击浏览器的前进后后退按钮后,如果此处设置为true,那么就会回退到上次点击的tab,而不是跳转到其他页面去initialIndex0设置默认显示的tabtabsa'设置tab对应的标签元素,默认为"a",这里也可以设为"li",该处相当于jquery的选择器apiFALSE设置当前tab所在容器的返回类型类型。如果为false(默认值),以jquery对象返回;否则,以js对象返回。如果存在多个值,返回最后一个值。onBeforeClicknull在tab被点击之前调用的函数,如果该函数返回false,那么该tab不会被触发;返回的是一个tab对象,对于该对象的操作,参见tab相关方法;改返回函数有一个参数,为当前tab的索引onClicknull在tab被点击的时候调用的函数,其他用法同onBeforeClick此外,tabs也提供了获取tabs的一系列方法,具体实现及说明如下:
复制代码 代码如下:
var api=$("ul.tabs-t").tabs();//先通过获取tab容器获取tab
//api.next();//跳转到下一个tab
//api.click();
//alert(api.getConf().tabs);//返回api的配置对象,这里获取配置对象的tabs属性的值
api.getCurrentPane();//获取当前的panel
api.getCurrentTab();//获取当前tab
api.getIndex();//获取当前tab的index
//alert(api.getPanes());//获取所有的panel
//alert(api.getTabs());//获取所有的tab
api.prev();//跳转到上一个tab
api.onBeforeClick=function(){
return true;
}//同配置对象的BeforeClick,一个对象可以绑定多个Beforeclick事件
api.onClick=function(){
return true;
}//同配置对象的Click,一个对象可以绑定多个Beforeclick事件
更直观的说明如下:
方法返回值描述getConf()API返回api的配置对象getCurrentPane()jQuery获取当前的panelgetCurrentTab()jQuery获取当前tabgetIndex()integer获取当前tab的indexgetTabs()jQuery获取所有的tabgetPanes()jQuery获取所有的panelnext()API跳转到下一个tabprev()API跳转到上一个tabonBeforeClick()API同配置对象的BeforeClick,一个对象可以绑定多个Beforeclick事件onClick()API//同配置对象的Click,一个对象可以绑定多个Beforeclick事件
最后,取其官方网站的几张截图作为本文的结尾。
1.普通的tabs
de life" alt="jquery tools之tabs(选项卡/页签) - gaoyusi - My code life" src="/upload/20090725144632720.jpg">
2.水平拓展的tabs
de life" alt="jquery tools之tabs(选项卡/页签) - gaoyusi - My code life" src="/upload/20090725144633546.jpg">
3. 类提示框
de life" alt="jquery tools之tabs(选项卡/页签) - gaoyusi - My code life" src="/upload/20090725144633516.jpg">
4.向导
de life" alt="jquery tools之tabs(选项卡/页签) - gaoyusi - My code life" src="/upload/20090725144633426.jpg">
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Tabs标签页/选项卡用$.fn.tabs.defaults重写defaults。依赖panellinkbutton用法示例创建tabs1、经由标记创建Tabs
在实现Angularjs实现mvvm式的选项卡之前,先搬出我们常用的jquery实现。1、jquery实现简单粗暴的选项卡效果varnav=$(".tabs")
本节内容:jquery实现自动切换选项卡。代码:复制代码代码如下:自动切换tabs选项卡-www.jb51.netcode{font-family:"Couri
本文实例为大家分享了js选项卡的具体代码,供大家参考,具体内容如下选项卡*{padding:0;margin:0;}div#tabs{width:6
本文实例为大家分享了Yii2选项卡使用的具体代码,供大家参考,具体内容如下'tabs','renderTabContent'=>false,//如果是每个选项卡