Vue組件實現(xiàn)旋轉(zhuǎn)木馬動畫
更新時間:2021年07月22日 14:56:46 作者:?。。?
這篇文章主要為大家詳細介紹了Vue組件實現(xiàn)旋轉(zhuǎn)木馬動畫效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Vue組件實現(xiàn)旋轉(zhuǎn)木馬動畫的具體代碼,供大家參考,具體內(nèi)容如下
源碼如下
<template>
<div id="wrapper">
<transition-group name="list" tag="ul" mode="out-in">
<li v-for="(item,index) in piclist" :key="item.url" :style="config[index]">
<img :src="item.url">
</li>
</transition-group>
<a href="javascript:;" id="arrLeft" class="prev" @click="turnleft"></a>
<a href="javascript:;" id="arrRight" class="next" @click="turnright"></a>
</div>
</template>
js:
export default {
data() {
return {
piclist: [
{ url: require("../image/pic1.png") },
{ url: require("../image/pic2.png") },
{ url: require("../image/pic3.png") }
],
//文件圖片配置
config: [
{
position: "absolute",
width: "400px",
top: "20px",
left: "50px",
opacity: 0.2,
zIndex: 2,
transition: "1s"
},
{
position: "absolute",
width: "800px",
top: "100px",
left: "200px",
opacity: 1,
zIndex: 4,
transition: "1s"
},
{
position: "absolute",
width: "400px",
top: "20px",
left: "750px",
opacity: 0.2,
zIndex: 2,
transition: "1s"
}
],
previous: 0,
now: Date.now()
};
},
methods: {
//實現(xiàn)點擊按鈕切換的動畫,設置時間參數(shù)防止多次點擊
turnleft: function() {
this.now = Date.now();
if (this.now - this.previous > 1000) {
this.config.push(this.config.shift());
this.previous = this.now;
}
},
turnright: function() {
this.now = Date.now();
if (this.now - this.previous > 1000) {
this.config.unshift(this.config.pop());
this.previous = this.now;
}
}
}
};
css:
* {
margin: 0;
padding: 0;
}
#wrapper {
margin: auto;
height: 500px;
width: 79%;
position: relative;
}
ul {
list-style: none;
}
li img {
height: 500px;
width: 100%;
}
.prev,
.next {
position: absolute;
height: 60px;
width: 60px;
border-radius: 50%;
top: 50%;
margin-top: -56px;
overflow: hidden;
text-decoration: none;
background-color: aqua;
z-index: 5;
opacity: 1;
}
.prev {
left: 0;
}
.next {
right: 0;
}
.picleft {
width: 400;
top: 20;
left: 50;
opacity: 0.2;
z-index: 2;
}
.piccenter {
width: 800;
top: 100;
left: 200;
opacity: 1;
z-index: 4;
}
.picright {
width: 400;
top: 20;
left: 750;
opacity: 0.2;
z-index: 2;
}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
axios的interceptors多次執(zhí)行問題解決
這篇文章主要為大家介紹了axios中interceptors多次執(zhí)行問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06
Vue3.0使用ref和reactive來創(chuàng)建響應式數(shù)據(jù)
ref?和?reactive?是?Composition?API?中用來創(chuàng)建響應式數(shù)據(jù)的兩個核心函數(shù),在本篇文章中,我們將詳細講解如何使用?ref?和?reactive?來創(chuàng)建響應式數(shù)據(jù),并展示它們之間的區(qū)別和使用場景,需要的朋友可以參考下2024-11-11
vue3在單個組件中實現(xiàn)類似mixin的事件調(diào)用
這篇文章主要為大家詳細介紹了vue3如何在單個組件中實現(xiàn)類似mixin的事件調(diào)用,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-01-01
解決Vue+Electron下Vuex的Dispatch沒有效果問題
這篇文章主要介紹了Vue+Electron下Vuex的Dispatch沒有效果的解決方案 ,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05

