vue+animation動(dòng)畫(huà)實(shí)現(xiàn)跑馬燈效果
本文實(shí)例為大家分享了vue+animation動(dòng)畫(huà)實(shí)現(xiàn)跑馬燈效果的具體代碼,供大家參考,具體內(nèi)容如下
1、單行顯示,每行只顯示一條
效果圖
上代碼
<template> ? <div class="container"> ? ? <div class="box"> ? ? ? <!-- 假設(shè)lists列表有4個(gè)項(xiàng),設(shè)置ul的寬度為800%(相對(duì)于box),設(shè)置li的寬度為12.5%(相對(duì)于ul是12.5%;相對(duì)于box是100%),但是li要有8個(gè),其中4個(gè)是復(fù)制的,用來(lái)占位 --> ? ? ? <ul :style="'width:' + lists.length * 100 * 2 + '%;animation-duration:' + lists.length*2 + 's;'"> ? ? ? ? <li :style="'width:' + 100 / (lists.length * 2) + '%;'" v-for="(item, index) in lists" :key="index"> ? ? ? ? ? <div class="content">{{item.name}}</div> ? ? ? ? </li> ? ? ? ? <li :style="'width:' + 100 / (lists.length * 2) + '%;'" v-for="(item, index) in lists" :key="index"> ? ? ? ? ? <div class="content">{{item.name}}</div> ? ? ? ? </li> ? ? ? </ul> ? ? </div> ? </div> </template> <script> export default { ? name: "activity", ? data() { ? ? return { ? ? ? lists: [ ? ? ? ? { name: "馬云阿薩" }, ? ? ? ? { name: "雷軍的" }, ? ? ? ? { name: "王勤啊啊啊啊" }, ? ? ? ? { name: "等倫倫" } ? ? ? ] ? ? }; ? }, }; </script> <style scoped> .box { ? width: 100%; ? height: 0.6rem; ? background-color: #b32855; ? overflow: hidden; } .box ul { ? animation-name: move; ? /* 在style中動(dòng)態(tài)設(shè)置每一個(gè)li花費(fèi)的時(shí)間為2s */ ? /* animation-duration: 8s; */ ? animation-timing-function: linear; ? animation-iteration-count: infinite; } ul li { ? float: left; ? height: 0.6rem; ? display: flex; ? align-items: center; } ul li .content { ? height: 0.4rem; ? padding: 0 0.2rem; ? border-radius: 0.2rem; ? background-color: rgba(0, 0, 0, 0.2); ? color: #fff; ? display: flex; ? align-items: center; ? justify-content: space-around; } @keyframes move { ? 0% { ? ? transform: translateX(0); ? } ? 100% { ? ? /* 平移自身寬度的50%,ul寬度的50%,剩下的那50%用來(lái)在下一次顯示時(shí)占位 */ ? ? transform: translateX(-50%); ? } } </style>
2、單行顯示,每行顯示多條
效果圖
上代碼
<template> ? <div class="container"> ? ? <div class="box"> ? ? ? <!-- 假設(shè)lists列表有4個(gè)項(xiàng),設(shè)置ul的寬度為400%(相對(duì)于box),設(shè)置li的寬度為12.5%(相對(duì)于ul是12.5%;相對(duì)于box是50%),但是li要有8個(gè),其中4個(gè)是復(fù)制的,用來(lái)占位 --> ? ? ? <ul :style="'width:' + lists.length * 100 + '%;animation-duration:' + lists.length*2 + 's;'"> ? ? ? ? <li :style="'width:' + 100 / (lists.length * 2) + '%;'" v-for="(item, index) in lists" :key="index"> ? ? ? ? ? <div class="content">{{item.name}}</div> ? ? ? ? </li> ? ? ? ? <li :style="'width:' + 100 / (lists.length * 2) + '%;'" v-for="(item, index) in lists" :key="index"> ? ? ? ? ? <div class="content">{{item.name}}</div> ? ? ? ? </li> ? ? ? </ul> ? ? </div> ? </div> </template>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于下拉類型多選組件Vue-Treeselect(鍵名轉(zhuǎn)換)
這篇文章主要介紹了關(guān)于下拉類型多選組件Vue-Treeselect(鍵名轉(zhuǎn)換),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07vue實(shí)現(xiàn)nav導(dǎo)航欄的方法
這篇文章主要為大家詳細(xì)介紹了vue項(xiàng)目nav導(dǎo)航欄的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12基于ant-design-vue實(shí)現(xiàn)表格操作按鈕組件
這篇文章主要為大家介紹了基于ant-design-vue實(shí)現(xiàn)表格操作按鈕組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06vue通過(guò)獲取url中的信息登錄頁(yè)面的代碼詳解
這篇文章主要給大家介紹了vue通過(guò)獲取url中的信息登錄頁(yè)面的方法,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-02-02在Vue3項(xiàng)目中使用Jest配置生成測(cè)試報(bào)告的示例詳解
在Vue 3項(xiàng)目中使用Jest進(jìn)行單元測(cè)試是一種常見(jiàn)的做法,它可以幫助我們驗(yàn)證代碼的正確性和穩(wěn)定性,本文將介紹如何在Vue 3項(xiàng)目中配置Jest,以生成測(cè)試報(bào)告,需要的朋友可以參考下2023-09-09Monaco?Editor開(kāi)發(fā)SQL代碼提示編輯器實(shí)例詳解
這篇文章主要為大家介紹了Monaco?Editor開(kāi)發(fā)SQL編輯器實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08vue-cli+axios實(shí)現(xiàn)文件上傳下載功能(下載接收后臺(tái)返回文件流)
這篇文章主要介紹了vue-cli+axios實(shí)現(xiàn)文件上傳下載功能(下載接收后臺(tái)返回文件流),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05vue項(xiàng)目里面引用svg文件并給svg里面的元素賦值
這篇文章主要介紹了vue項(xiàng)目里面引用svg文件并給svg里面的元素賦值,本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08