幻灯片/轮播

jQuery+CSS3选项卡TAB样式幻灯片特效

阿里云


这是一款使用 jQuery 和 CSS3 动画制作的炫酷响应式 TAB 选项卡样式幻灯片特效。该幻灯片特效采用 TAB 选项卡来进行切换,每次切换时 slide 中的元素都带有非常炫酷的 CSS3 动画效果。

HTML 结构:

该 TAB 样式幻灯片的基本 HTML 结构如下:

也想出现在这里?联系我们
创客主机
  1. <div class="tabSlider">
  2.   <div class="ts-items">
  3.     <!-- 单个slide -->
  4.     <div class="ts-item is-active">
  5.       <div class="ts-banner">
  6.         <!-- 背景图片 -->
  7.         <img src="bg1.jpg" alt="alt goes here" />
  8.       </div>
  9.       <div class="ts-container set-layout thumb-cont">  
  10.         <div class="ts-thumbnail">
  11.           <img src="img1.png" alt="alt" />
  12.         </div>
  13.         <div class="ts-content">
  14.           <div class="ts-title">
  15.             标题
  16.           </div>
  17.           <a href="" class="ts-btn pull-right set-icon to-right">
  18.             <span>文本内容</span>
  19.           </a>
  20.         </div>
  21.       </div>
  22.     </div>
  23.     <!-- 单个slide -->
  24.     ......
  25.   </div>
  26.   <!--tab选项卡-->
  27.   <nav class="ts-control">
  28.     <div class="ts-container">
  29.       <ul>
  30.         <li class="is-active"><i class="ts-icon auto"></i> <span>Slide 1</span></li>
  31.         <li><i class="ts-icon medical"></i> <span>Slide 2</span></li>
  32.         <li><i class="ts-icon food"></i> <span>Slide 3</span></li>
  33.       </ul>
  34.     </div>
  35.   </nav>
  36. </div>

CSS 样式:

在切换 TAB 选项卡时,通过 jQuery 代码为当前的 slide 动态添加.is-activeclass。这个 class 类会为.ts-item 元素下的缩略图、文本内容和按钮子元素分别添加 CSS3 动画。

  1. .tabSlider .ts-items .ts-item.is-active {
  2.   background-position: center center;
  3. }
  4. .tabSlider .ts-items .ts-item.is-active .ts-thumbnail img {
  5.   -webkit-animation-name: vanishIn;
  6.   -moz-animation-name: vanishIn;
  7.   -ms-animation-name: vanishIn;
  8.   -o-animation-name: vanishIn;
  9.   animation-name: vanishIn;
  10. }
  11. .tabSlider .ts-items .ts-item.is-active .ts-title {
  12.   -webkit-animation-name: presRIn;
  13.   -moz-animation-name: presRIn;
  14.   -ms-animation-name: presRIn;
  15.   -o-animation-name: presRIn;
  16.   animation-name: presRIn;
  17. }
  18. .tabSlider .ts-items .ts-item.is-active .ts-btn {
  19.   -webkit-animation-name: button;
  20.   -moz-animation-name: button;
  21.   -ms-animation-name: button;
  22.   -o-animation-name: button;
  23.   animation-name: button;
  24. }
  25. /* vanishIn动画 */
  26. @keyframes vanishIn {
  27.   0% {
  28.     filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  29.     opacity: 0;
  30.     -moz-transform-origin: 50% 50%;
  31.     -ms-transform-origin: 50% 50%;
  32.     -webkit-transform-origin: 50% 50%;
  33.     transform-origin: 50% 50%;
  34.     -moz-transform: scale(2);
  35.     -ms-transform: scale(2);
  36.     -webkit-transform: scale(2);
  37.     transform: scale(2);
  38.     -webkit-filter: blur(10px);
  39.     filter: blur(10px);
  40.   }
  41.   100% {
  42.     filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  43.     opacity: 1;
  44.     -moz-transform-origin: 50% 50%;
  45.     -ms-transform-origin: 50% 50%;
  46.     -webkit-transform-origin: 50% 50%;
  47.     transform-origin: 50% 50%;
  48.     -moz-transform: scale(1);
  49.     -ms-transform: scale(1);
  50.     -webkit-transform: scale(1);
  51.     transform: scale(1);
  52.     -webkit-filter: blur(0px);
  53.     filter: blur(0px);
  54.   }
  55. }
  56. /* button动画 */
  57. @keyframes button {
  58.   0% {
  59.     filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  60.     opacity: 0;
  61.     left: -90px;
  62.   }
  63.   100% {
  64.     filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  65.     opacity: 1;
  66.     left: 0;
  67.   }
  68. }
  69. /* presRIn动画 */
  70. @keyframes presRIn {
  71.   0% {
  72.     filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  73.     opacity: 0;
  74.     -moz-transform-origin: 50% 50%;
  75.     -ms-transform-origin: 50% 50%;
  76.     -webkit-transform-origin: 50% 50%;
  77.     transform-origin: 50% 50%;
  78.     -moz-transform: perspective(600) scale(0.3, 0.3) rotateY(90deg);
  79.     -ms-transform: perspective(600) scale(0.3, 0.3) rotateY(90deg);
  80.     -webkit-transform: perspective(600) scale(0.3, 0.3) rotateY(90deg);
  81.     transform: perspective(600) scale(0.3, 0.3) rotateY(90deg);
  82.   }
  83.   60% {
  84.     filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
  85.     opacity: 0.4;
  86.     -moz-transform-origin: 50% 50%;
  87.     -ms-transform-origin: 50% 50%;
  88.     -webkit-transform-origin: 50% 50%;
  89.     transform-origin: 50% 50%;
  90.     -moz-transform: perspective(600) scale(0.7, 0.7) rotateY(0deg);
  91.     -ms-transform: perspective(600) scale(0.7, 0.7) rotateY(0deg);
  92.     -webkit-transform: perspective(600) scale(0.7, 0.7) rotateY(0deg);
  93.     transform: perspective(600) scale(0.7, 0.7) rotateY(0deg);
  94.   }
  95.   70% {
  96.     filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  97.     opacity: 0.7;
  98.     -moz-transform-origin: 50% 50%;
  99.     -ms-transform-origin: 50% 50%;
  100.     -webkit-transform-origin: 50% 50%;
  101.     transform-origin: 50% 50%;
  102.     -moz-transform: perspective(600) scale(1, 1) rotateY(10deg);
  103.     -ms-transform: perspective(600) scale(1, 1) rotateY(10deg);
  104.     -webkit-transform: perspective(600) scale(1, 1) rotateY(10deg);
  105.     transform: perspective(600) scale(1, 1) rotateY(10deg);
  106.   }
  107.   75% {
  108.     filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  109.     opacity: 0.8;
  110.     -moz-transform-origin: 50% 50%;
  111.     -ms-transform-origin: 50% 50%;
  112.     -webkit-transform-origin: 50% 50%;
  113.     transform-origin: 50% 50%;
  114.     -moz-transform: perspective(600) scale(1, 1) rotateY(-10deg);
  115.     -ms-transform: perspective(600) scale(1, 1) rotateY(-10deg);
  116.     -webkit-transform: perspective(600) scale(1, 1) rotateY(-10deg);
  117.     transform: perspective(600) scale(1, 1) rotateY(-10deg);
  118.   }
  119.   90% {
  120.     filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
  121.     opacity: 0.9;
  122.     -moz-transform-origin: 50% 50%;
  123.     -ms-transform-origin: 50% 50%;
  124.     -webkit-transform-origin: 50% 50%;
  125.     transform-origin: 50% 50%;
  126.     -moz-transform: perspective(600) scale(1, 1) rotateY(5deg);
  127.     -ms-transform: perspective(600) scale(1, 1) rotateY(5deg);
  128.     -webkit-transform: perspective(600) scale(1, 1) rotateY(5deg);
  129.     transform: perspective(600) scale(1, 1) rotateY(5deg);
  130.   }
  131.   100% {
  132.     filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  133.     opacity: 1;
  134.     -moz-transform-origin: 50% 50%;
  135.     -ms-transform-origin: 50% 50%;
  136.     -webkit-transform-origin: 50% 50%;
  137.     transform-origin: 50% 50%;
  138.     -moz-transform: perspective(600) scale(1, 1) rotateY(0deg);
  139.     -ms-transform: perspective(600) scale(1, 1) rotateY(0deg);
  140.     -webkit-transform: perspective(600) scale(1, 1) rotateY(0deg);
  141.     transform: perspective(600) scale(1, 1) rotateY(0deg);
  142.   }
  143. }

CSS 样式中还使用媒体查询来制作响应式效果,完整的 CSS 代码请参考 style.css 文件。

JAVASCRIPT:

该 TAB 选项卡幻灯片特效使用 jQuery 来控制背景图片和 tab 选项卡切换时的事件,为相应的幻灯片 slide 添加和移除相应的 class。

  1. $(function(){
  2.     $('a').on('click', function(){ return false; }); 
  3.     $('.ts-item').first().show();
  4.     $('.ts-item').each(function () {
  5.         var $this = $(this),
  6.             _imgSrc  = $this.find('.ts-banner img').attr('src');
  7.  
  8.         if(_imgSrc)
  9.         $this.css('background-image', 'url(' + _imgSrc + ')');
  10.     });
  11.  
  12.     $('.ts-control li').on('click', function(){
  13.         var  $this = $(this),
  14.             _index = $this.index();
  15.  
  16.           $("li.is-active").removeClass("is-active");
  17.           $(this).addClass("is-active");
  18.  
  19.           $('.ts-item.is-active').removeClass('is-active').fadeOut();
  20.           $('.ts-item').eq(_index).addClass('is-active').fadeIn();
  21.  
  22.         return false;
  23.     });
  24.     var ww = $(window).width();
  25.   });

jQuery+CSS3 选项卡 TAB 样式幻灯片特效

已有 440 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!