jQueryTab是一款带CSS3过渡动画效果的jQuery Tabs选项卡插件。它是轻量级插件,使用简单,采用响应式设计,并支持多种CSS3动画过渡效果。它的特点还有:
- 响应式设计:在平板、手机等小屏幕设备中自动转换为手风琴样式。
- 支持Cookie:插件会使用Cookie记住用户点击的最后一个Tab。
- CSS3动画过渡:支持的动画过渡效果有:fade, slideUp, slideRight, flip, rotate, swingRight, scaleDown, scaleUp。你也可以定义动画。
- 手风琴效果:在小屏幕设备中可对手风琴进行折叠。
- 可在初始化时选择某个Tab来显示。
- URL Hash:可以在URL地址中直接打开某个Tab。
- 回调函数:提供before和after回调函数。
- 事件:可以在点击和鼠标滑过事件之间切换。
使用方法
使用该Tabs选项卡插件需要在页面中引入jQuery、jQueryTab.css、animation.css和jQueryTab.js文件。
<link rel="stylesheet" href="jQueryTab.css" type="text/css" media="screen" /> <link rel="stylesheet" href="animation.css" type="text/css" media="screen" /> <script src="js/jquery.min.js"></script> <script src="js/jQueryTab.js"></script>
HTML结构
Tabs选项卡的基本HTML结构如下:
<div class="tabs-1"> <ul class="tabs"> <li><a href="#tab1">General</a></li> <li><a href="#tab2">Social Media</a></li> <li><a href="#tab-copyright">Copyright</a></li> <li><a href="#tab4">Contact</a></li> </ul> <section class="tab_content_wrapper"> <article class="tab_content" id="tab1"> <p>General calidis mundum caligine coeperunt. </p> </article> <article class="tab_content" id="tab2"> <p>Social Media conversa egens spectent tum sed diremit haec. </p> </article> <article class="tab_content" id="tab-copyright"> <p>Copyright eurus supplex undae fulgura congestaque locis.</p> </article> <article class="tab_content" id="tab4"> <p>Contact erat pugnabant diffundi pondere temperiemque. </p> </article> </section> </div>
初始化插件
在页面DOM元素加载完毕之后,可以通过jQueryTab()
方法来初始化该选项卡插件。
$('.tabs-1').jQueryTab();
配置参数
参数 | 默认值 | 描述 |
tabClass | 'tabs' | 选项卡的class类 |
accordionClass | 'accordion_tabs' | 小屏幕设备中手风琴头部的class类 |
contentWrapperClass | 'tab_content_wrapper' | 包裹内容的class类 |
contentClass | 'tab_content' | 容器的class类 |
activeClass | 'active' | 当前激活tab的class类 |
responsive | true | 是否允许在小屏幕设备中转换为手风琴效果 |
responsiveBelow | 600 | 设置响应式断点 |
collapsible | true | 是否在小屏幕中折叠手风琴 |
useCookie | true | 是否使用Cookie来记住最后一个激活的Tab |
openOnhover | false | 是否在鼠标滑过时切换Tab |
initialTab | 1 | 初始化时打开的Tab,第一个Tab是1不是0 |
cookieName | 'active-tab' | 记住最后一个激活的Tab的Cookie名称 |
cookieExpires | 365 | Cookie过期时间 |
cookiePath | '' | 访问cookie的路径 |
cookieDomain | '' | cookie所在的域 |
cookieSecure | false | 是否启用Cookie的安全机制(需要Https协议) |
tabInTransition | 'fadeIn' | 显示Tabs中内容的class名称 |
tabOutTransition | 'fadeOut' | 隐藏Tabs中内容的class名称 |
accordionTransition | 'slide' | 手风琴的过渡效果:normal 或 slide |
accordionIntime | 500 | 进入动画的时间,单位毫秒 |
accordionOutTime | 400 | 离开动画的时间,单位毫秒 |
before | function(){} | tab打开之前的回调函数 |
after | function(){} | tab关闭之后的回调函数 |
创建Class动画类
创建Tab的进入动画过渡类:
.swingRightIn { -webkit-transform: rotate(0); -moz-transform: rotate(0); -ms-transform: rotate(0); -o-transform: rotate(0); transform: rotate(0); -webkit-transform-origin: top center; -moz-transform-origin: top center; -ms-transform-origin: top center; transform-origin: top center; opacity: 1; transition-delay: .3s; }
创建Tab的离开动画过渡类:
.swingRightOut { -webkit-transform-origin: top center; -moz-transform-origin: top center; -ms-transform-origin: top center; transform-origin: top center; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -o-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; }
然后可以在初始化该选项卡插件时传入这些class类。
$('.tabs-1').jQueryTab({ tabInTransition: 'swingRightIn', tabOutTransition: 'swingRightOut', cookieName: 'active-tab-1' });
jQueryTab选项卡插件的github地址为:https://github.com/dharmapoudel/jQueryTab