欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

酷! 不同風(fēng)格頁面布局幻燈片特效js實(shí)現(xiàn)

 更新時(shí)間:2021年02月19日 09:40:29   作者:愛上程序猿  
這篇文章主要為大家詳細(xì)介紹了超酷不同風(fēng)格頁面布局幻燈片特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

這是一款效果非常炫酷的不同風(fēng)格頁面布局幻燈片特效。該特效中,通過前后導(dǎo)航按鈕來切換幻燈片,每個(gè)幻燈片中的圖片均為不同的布局效果。

該幻燈片特效使用anime.js來制作幻燈片的動畫特效,并使用很多CSS3屬性,需要最新版本的現(xiàn)代瀏覽器才能看到效果。對于IE瀏覽器,前面幾種效果可以在IE11及以上的瀏覽器看到效果,最后一種效果由于IE瀏覽器不支持SVG clip-path屬性,所以是看不到效果的。

使用方法

HTML結(jié)構(gòu)

該幻燈片的基本HTML結(jié)構(gòu)如下:每一個(gè)幻燈片都有各自的布局class類,和一個(gè)data-layout屬性,用于制作各自的動畫效果。 

<div class="slideshow"> 
 <div class="slide slide--layout-1" data-layout="layout1"> 
 <div class="slide-imgwrap"> 
 <div class="slide__img"><div class="slide__img-inner" style="background-image: url(img/1.jpg);"></div></div>
 <div class="slide__img"><div class="slide__img-inner" style="background-image: url(img/2.jpg);"></div></div>
 <div class="slide__img"><div class="slide__img-inner" style="background-image: url(img/3.jpg);"></div></div> 
 </div> 
 <div class="slide__title"> 
 <h3 class="slide__title-main">Now or Never</h3> 
 <p class="slide__title-sub">... <a href="#">Read more</a></p> 
 </div> 
 </div><!-- /slide --> 
 <div class="slide slide--layout-2" data-layout="layout2"> 
 <!-- ... -->
 
 </div> 
 <!-- ... --> 
</div><!-- /slideshow --> 

CSS樣式

下面是其中一個(gè)布局的CSS樣式: 

/* Layout 1: 3 grid images */
.slide--layout-1 .slide__img { 
 position: absolute; 
 width: calc(50% - 1em); 
} 
 
.slide--layout-1 .slide__img:first-child { 
 left: 0.5em; 
 height: 100%; 
} 
 
.slide--layout-1 .slide__img:nth-child(n+2) { 
 left: calc(50% + 0.5em); 
 height: calc(50% - 0.5em); 
} 
 
.slide--layout-1 .slide__img:nth-child(3) { 
 top: calc(50% + 0.5em);
}

得到的效果如下圖所示:

JavaScript

每一個(gè)幻燈片布局的動畫效果定義在js文件中。結(jié)構(gòu)為: [layout name] : { out : {navigating out properties}, in : {navigating in properties} }??梢詾檫M(jìn)入和離開的幻燈片設(shè)置不同的動畫效果。下面的代碼是第一個(gè)布局的示例代碼:  

MLSlideshow.prototype.options = { 
 // Starting position. 
 startIdx : 0, 
 // Layout configuration. 
 // [layout name] : { out : {navigating out properties}, in : {navigating in properties} } 
 layoutConfig : { 
 layout1 : {
 out : { 
 translateX : { 
 next: '-100%', 
 prev: '100%' 
 }, 
 rotateZ : { 
 next: function(el, index) { 
 return anime.random(-15, 0); 
 }, 
 prev: function(el, index) { 
 return anime.random(0, 15); 

 } 
 }, 
 opacity : 0,
 duration: 1200, 
 easing : 'easeOutQuint', 
 itemsDelay : 80 
 },
 in : { 
 resetProps : { 
 translateX : {
 next: '100%', 

 prev: '-100%' 
 },
 rotateZ : { 
 next: function(el, index) {
 return anime.random(0, 15);
 }, 
 
 prev: function(el, index) { 
 return anime.random(-15, 0); 
 } 
 }, 
 opacity : 0, 
 }, 
 translateX : '0%',
 rotateZ : 0, 
 opacity : 1,
 duration: 700, 
 easing : 'easeOutQuint', 
 itemsDelay : 80
 
 }
 
 },
 layout2 : { /* ... */ }, 
 layout3 : { /* ... */ }, 
 /* ... */
 
 }
 
};

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論