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-01JavaScript之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-07Bootstrap菜單按鈕及導(dǎo)航實(shí)例解析
這篇文章主要介紹了Bootstrap菜單按鈕及導(dǎo)航的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-09-09JS逆向之?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-06js實(shí)現(xiàn)本地持久化存儲(chǔ)登錄注冊(cè)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)本地持久化存儲(chǔ)登錄注冊(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08