Rumah hujung hadapan web html tutorial jQuery和CSS3响应式TAB选项卡样式幻灯片特效_html/css_WEB-ITnose

jQuery和CSS3响应式TAB选项卡样式幻灯片特效_html/css_WEB-ITnose

Jun 21, 2016 am 08:57 AM

简要教程

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

查看演示       下载插件

浏览器兼容性

使用方法

HTML结构

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

<div class="tabSlider">  <div class="ts-items">    <!-- 单个slide -->    <div class="ts-item is-active">      <div class="ts-banner">        <!-- 背景图片 -->        <img src="/static/imghw/default1.png"  data-src="bg1.jpg"  class="lazy" alt="alt goes here" />      </div>      <div class="ts-container set-layout thumb-cont">          <div class="ts-thumbnail">          <img src="/static/imghw/default1.png"  data-src="img1.png"  class="lazy" alt="alt" />        </div>        <div class="ts-content">          <div class="ts-title">            标题          </div>          <a href="" class="ts-btn pull-right set-icon to-right">            <span>文本内容</span>          </a>        </div>      </div>    </div>    <!-- 单个slide -->    ......  </div>  <!--tab选项卡-->  <nav class="ts-control">    <div class="ts-container">      <ul>        <li class="is-active"><i class="ts-icon auto"></i> <span>Slide 1</span></li>        <li><i class="ts-icon medical"></i> <span>Slide 2</span></li>        <li><i class="ts-icon food"></i> <span>Slide 3</span></li>      </ul>    </div>  </nav></div>
Salin selepas log masuk

CSS样式

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

.tabSlider .ts-items .ts-item.is-active {  background-position: center center;}.tabSlider .ts-items .ts-item.is-active .ts-thumbnail img {  -webkit-animation-name: vanishIn;  -moz-animation-name: vanishIn;  -ms-animation-name: vanishIn;  -o-animation-name: vanishIn;  animation-name: vanishIn;}.tabSlider .ts-items .ts-item.is-active .ts-title {  -webkit-animation-name: presRIn;  -moz-animation-name: presRIn;  -ms-animation-name: presRIn;  -o-animation-name: presRIn;  animation-name: presRIn;}.tabSlider .ts-items .ts-item.is-active .ts-btn {  -webkit-animation-name: button;  -moz-animation-name: button;  -ms-animation-name: button;  -o-animation-name: button;  animation-name: button;}/* vanishIn动画 */@keyframes vanishIn {  0% {    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);    opacity: 0;    -moz-transform-origin: 50% 50%;    -ms-transform-origin: 50% 50%;    -webkit-transform-origin: 50% 50%;    transform-origin: 50% 50%;    -moz-transform: scale(2);    -ms-transform: scale(2);    -webkit-transform: scale(2);    transform: scale(2);    -webkit-filter: blur(10px);    filter: blur(10px);  }  100% {    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);    opacity: 1;    -moz-transform-origin: 50% 50%;    -ms-transform-origin: 50% 50%;    -webkit-transform-origin: 50% 50%;    transform-origin: 50% 50%;    -moz-transform: scale(1);    -ms-transform: scale(1);    -webkit-transform: scale(1);    transform: scale(1);    -webkit-filter: blur(0px);    filter: blur(0px);  }}/* button动画 */@keyframes button {  0% {    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);    opacity: 0;    left: -90px;  }  100% {    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);    opacity: 1;    left: 0;  }}/* presRIn动画 */@keyframes presRIn {  0% {    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);    opacity: 0;    -moz-transform-origin: 50% 50%;    -ms-transform-origin: 50% 50%;    -webkit-transform-origin: 50% 50%;    transform-origin: 50% 50%;    -moz-transform: perspective(600) scale(0.3, 0.3) rotateY(90deg);    -ms-transform: perspective(600) scale(0.3, 0.3) rotateY(90deg);    -webkit-transform: perspective(600) scale(0.3, 0.3) rotateY(90deg);    transform: perspective(600) scale(0.3, 0.3) rotateY(90deg);  }  60% {    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);    opacity: 0.4;    -moz-transform-origin: 50% 50%;    -ms-transform-origin: 50% 50%;    -webkit-transform-origin: 50% 50%;    transform-origin: 50% 50%;    -moz-transform: perspective(600) scale(0.7, 0.7) rotateY(0deg);    -ms-transform: perspective(600) scale(0.7, 0.7) rotateY(0deg);    -webkit-transform: perspective(600) scale(0.7, 0.7) rotateY(0deg);    transform: perspective(600) scale(0.7, 0.7) rotateY(0deg);  }  70% {    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);    opacity: 0.7;    -moz-transform-origin: 50% 50%;    -ms-transform-origin: 50% 50%;    -webkit-transform-origin: 50% 50%;    transform-origin: 50% 50%;    -moz-transform: perspective(600) scale(1, 1) rotateY(10deg);    -ms-transform: perspective(600) scale(1, 1) rotateY(10deg);    -webkit-transform: perspective(600) scale(1, 1) rotateY(10deg);    transform: perspective(600) scale(1, 1) rotateY(10deg);  }  75% {    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);    opacity: 0.8;    -moz-transform-origin: 50% 50%;    -ms-transform-origin: 50% 50%;    -webkit-transform-origin: 50% 50%;    transform-origin: 50% 50%;    -moz-transform: perspective(600) scale(1, 1) rotateY(-10deg);    -ms-transform: perspective(600) scale(1, 1) rotateY(-10deg);    -webkit-transform: perspective(600) scale(1, 1) rotateY(-10deg);    transform: perspective(600) scale(1, 1) rotateY(-10deg);  }  90% {    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);    opacity: 0.9;    -moz-transform-origin: 50% 50%;    -ms-transform-origin: 50% 50%;    -webkit-transform-origin: 50% 50%;    transform-origin: 50% 50%;    -moz-transform: perspective(600) scale(1, 1) rotateY(5deg);    -ms-transform: perspective(600) scale(1, 1) rotateY(5deg);    -webkit-transform: perspective(600) scale(1, 1) rotateY(5deg);    transform: perspective(600) scale(1, 1) rotateY(5deg);  }  100% {    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);    opacity: 1;    -moz-transform-origin: 50% 50%;    -ms-transform-origin: 50% 50%;    -webkit-transform-origin: 50% 50%;    transform-origin: 50% 50%;    -moz-transform: perspective(600) scale(1, 1) rotateY(0deg);    -ms-transform: perspective(600) scale(1, 1) rotateY(0deg);    -webkit-transform: perspective(600) scale(1, 1) rotateY(0deg);    transform: perspective(600) scale(1, 1) rotateY(0deg);  }}
Salin selepas log masuk

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

JAVASCRIPT

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

$(function(){    $('a').on('click', function(){ return false; });     $('.ts-item').first().show();    $('.ts-item').each(function () {        var $this = $(this),            _imgSrc  = $this.find('.ts-banner img').attr('src');               if(_imgSrc)        $this.css('background-image', 'url(' + _imgSrc + ')');    });     $('.ts-control li').on('click', function(){        var  $this = $(this),            _index = $this.index();           $("li.is-active").removeClass("is-active");          $(this).addClass("is-active");                 $('.ts-item.is-active').removeClass('is-active').fadeOut();          $('.ts-item').eq(_index).addClass('is-active').fadeIn();               return false;    });    var ww = $(window).width();  });
Salin selepas log masuk

来源:jQuery之家

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kesukaran mengemas kini caching laman web akaun rasmi: Bagaimana untuk mengelakkan cache lama yang mempengaruhi pengalaman pengguna selepas kemas kini versi? Kesukaran mengemas kini caching laman web akaun rasmi: Bagaimana untuk mengelakkan cache lama yang mempengaruhi pengalaman pengguna selepas kemas kini versi? Mar 04, 2025 pm 12:32 PM

Kesukaran mengemas kini caching laman web akaun rasmi: Bagaimana untuk mengelakkan cache lama yang mempengaruhi pengalaman pengguna selepas kemas kini versi?

Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Mar 17, 2025 pm 12:27 PM

Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna?

Bagaimana cara menambah kesan strok kepada imej PNG di laman web? Bagaimana cara menambah kesan strok kepada imej PNG di laman web? Mar 04, 2025 pm 02:39 PM

Bagaimana cara menambah kesan strok kepada imej PNG di laman web?

Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Mar 20, 2025 pm 06:05 PM

Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya?

Apakah tujuan & lt; meter & gt; unsur? Apakah tujuan & lt; meter & gt; unsur? Mar 21, 2025 pm 12:35 PM

Apakah tujuan & lt; meter & gt; unsur?

Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Mar 17, 2025 pm 12:20 PM

Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5?

Apakah tujuan & lt; DATALIST & GT; unsur? Apakah tujuan & lt; DATALIST & GT; unsur? Mar 21, 2025 pm 12:33 PM

Apakah tujuan & lt; DATALIST & GT; unsur?

Bagaimana saya menggunakan html5 & lt; meter & gt; elemen untuk memaparkan data berangka dalam julat? Bagaimana saya menggunakan html5 & lt; meter & gt; elemen untuk memaparkan data berangka dalam julat? Mar 12, 2025 pm 04:08 PM

Bagaimana saya menggunakan html5 & lt; meter & gt; elemen untuk memaparkan data berangka dalam julat?

See all articles