Vue實(shí)現(xiàn)一種簡(jiǎn)單的無(wú)限循環(huán)滾動(dòng)動(dòng)畫(huà)的示例
本文主要介紹了Vue實(shí)現(xiàn)一種簡(jiǎn)單的無(wú)限循環(huán)滾動(dòng)動(dòng)畫(huà)的示例,分享給大家,具體如下:
先看實(shí)現(xiàn)效果:
這種類(lèi)似輪播的效果,通常可以使用輪播的方案解決,只不過(guò)相對(duì)于我要分享的方案來(lái)說(shuō),輪播實(shí)現(xiàn)還是要復(fù)雜些的。Vue提供了一種過(guò)渡動(dòng)畫(huà)transition-group,這里我便是利用的這個(gè)效果
// template<transition-group name='list-complete' tag='div'> <div v-for='v in items' :key='v.ix' : > // 內(nèi)容部分 </div></transition-group>//scss.list-complete-item { transition: all 1s;}.list-complete-leave-to { opacity: 0; transform: translateY(-80px);}.list-complete-leave-active { position: absolute;}
這樣,動(dòng)畫(huà)效果就出來(lái)了,但是卻不能自動(dòng)執(zhí)行,所以我利用了setInterval:
mounted() { let count = 4000 if (!this.timer) { this.timer = setInterval(() => { if (this.items.length > 1) { this.remove() this.$nextTick().then(() => { this.add() }) } }, count) }},methods: { add: function() { if (this.items && this.items.length) { const item = { ...this.removeitem[0] } item.ix = this.nextNum++ this.items.push(item) } }, remove: function() { this.removeitem = this.items.splice(0, 1) }}
如比,效果得以實(shí)現(xiàn),是不是更簡(jiǎn)單點(diǎn)。順帶提一下,我這邊實(shí)現(xiàn)的效果是單條滾動(dòng),就像新聞滾動(dòng)那樣,所以視圖窗口只能看到一條數(shù)據(jù),你也可以不這樣限制,那么就能顯示整個(gè)列表了,不過(guò)每次還是只有單條數(shù)據(jù)的消失效果。
PS:動(dòng)態(tài)渲染圖片可以使用這種方式
<img :src='http://www.cgvv.com.cn/bcjs/require(`@/assets/imgs/icons/${somevar}.png`)'>
當(dāng)然,如果有不同的意見(jiàn),歡迎留言交流!
到此這篇關(guān)于Vue實(shí)現(xiàn)一種簡(jiǎn)單的無(wú)限循環(huán)滾動(dòng)動(dòng)畫(huà)的示例的文章就介紹到這了,更多相關(guān)Vue 無(wú)限滾動(dòng)動(dòng)畫(huà)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 教你如何寫(xiě)出可維護(hù)的JS代碼2. Vue的Options用法說(shuō)明3. CSS可以做的幾個(gè)令你嘆為觀止的實(shí)例分享4. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)5. 使用Python和百度語(yǔ)音識(shí)別生成視頻字幕的實(shí)現(xiàn)6. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算7. xml中的空格之完全解說(shuō)8. css代碼優(yōu)化的12個(gè)技巧9. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法10. 怎樣才能用js生成xmldom對(duì)象,并且在firefox中也實(shí)現(xiàn)xml數(shù)據(jù)島?
