JS實(shí)現(xiàn)頭像循環(huán)滾動(dòng)示例
背景
需要用戶頭像(3個(gè))右邊部分疊層展示,并且支持循環(huán)滾動(dòng)

實(shí)現(xiàn)
改變dom上綁定的樣式id,論循替換
<template>
<div class="slider-headimg">
<div class="out">
<div class="inner">
<div class="img" ref="headimgList" v-for="(item,index) in sliderHeadimgList" :key="index">
<img :src="item.headImgUrl">
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
sliderHeadimgList: {
type: Array,
default: () => []
}
},
data () {
return {
timer: null,
// 定義位置數(shù)組
idArr: ['first', 'second', 'right', 'last']
}
},
mounted () {
this.init()
},
destroyed () {
if (this.timer) {
clearInterval(this.timer)
}
},
methods: {
init () {
// 初始化圖片位置,根據(jù)id不同,初始化樣式
var img = this.$refs.headimgList
img[0].id = this.idArr[0]
img[1].id = this.idArr[1]
img[3].id = this.idArr[3]
for (let i = 0; i < (this.sliderHeadimgList.length - 4); i++) {
this.idArr.splice(3, 0, 'left')
}
this.initialize()
// 定時(shí)器圖片輪播
this.timer = setInterval(this.next, 1000)
},
next () {
// 將位置數(shù)組的最后一個(gè)元素刪除,并將刪除元素添加到位置數(shù)組第一個(gè)
this.idArr.unshift(this.idArr.pop())
this.initialize()
},
// 將位置數(shù)組元素作為id賦值給img,達(dá)到輪播效果
initialize () {
var img = this.$refs.headimgList
for (var i = 0; i < img.length; i++) {
img[i].id = this.idArr[i]
}
}
}
}
</script>
<style lang="less">
.slider-headimg {
position: relative;
display: flex;
align-items: center;
width: 200px;
padding-bottom: 55px;
margin-right: 10px;
}
.out {
width: 100%;
height: 100%;
position: relative;
.inner {
width: 100%;
.img {
width: 48px;
height: 48px;
position: absolute;
transition: 0.3s;
display: flex;
border-radius: 50%;
border: 1px solid #fff;
img {
width: 100%;
height: 100%;
border-radius: 50%;
}
}
}
//設(shè)置id樣式
#last {
display: flex;
transform: translateX(48px);
z-index: 3;
opacity: 1;
}
#first {
display: flex;
transform: translateX(96px);
z-index: 2;
opacity: 1;
}
#second {
display: flex;
transform: translateX(144px);
z-index: 1;
opacity: 1;
}
#left {
display: none;
transform: translateX(-48px);
z-index: 1;
opacity: 0;
}
#right {
display: flex;
transform: translateX(240px);
z-index: 1;
opacity: 0;
}
}
</style>以上就是JS實(shí)現(xiàn)頭像循環(huán)滾動(dòng)示例的詳細(xì)內(nèi)容,更多關(guān)于JS頭像循環(huán)滾動(dòng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
javascript addBookmark 加入收藏 多瀏覽器兼容
不錯(cuò)的加入收藏代碼,加入了對(duì)一些常見瀏覽器的判斷,更好的體現(xiàn)用戶體驗(yàn),兼容了ie,firefox.2009-08-08
微信小程序時(shí)間軸實(shí)現(xiàn)方法示例
這篇文章主要介紹了微信小程序時(shí)間軸實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了微信小程序wx:for語句使用與時(shí)間軸縱向布局相關(guān)操作技巧,需要的朋友可以參考下2019-01-01
JavaScript之DOM_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
由于HTML文檔被瀏覽器解析后就是一棵DOM樹,要改變HTML的結(jié)構(gòu),就需要通過JavaScript來操作DOM。始終記住DOM是一個(gè)樹形結(jié)構(gòu)。2017-07-07
深入了解Hybrid App技術(shù)的相關(guān)知識(shí)
這篇文章主要介紹了深入了解Hybrid App技術(shù)的相關(guān)知識(shí),Hybrid App(混合模式移動(dòng)應(yīng)用)是指介于web-app、native-app這兩者之間的app,兼具" Native App良好用戶交互體驗(yàn)的優(yōu)勢(shì) "和" Web App跨平臺(tái)開發(fā)的優(yōu)勢(shì) ",需要的朋友可以參考下2019-07-07
Bootstrap菜單按鈕及導(dǎo)航實(shí)例解析
這篇文章主要介紹了Bootstrap菜單按鈕及導(dǎo)航的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-09-09
JS逆向之?webpack?打包站點(diǎn)實(shí)戰(zhàn)原理分享
本文主要介紹了JS逆向之webpack打包站點(diǎn)實(shí)戰(zhàn)原理分享,webpack是前端程序員用來進(jìn)行打包JS的技術(shù),打包之后的代碼特征非常明顯,更多相關(guān)知識(shí)需要的小伙伴可以參考下面文章詳細(xì)內(nèi)容2022-06-06
js實(shí)現(xiàn)本地持久化存儲(chǔ)登錄注冊(cè)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)本地持久化存儲(chǔ)登錄注冊(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08

