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)于下拉類(lèi)型多選組件Vue-Treeselect(鍵名轉(zhuǎn)換)
這篇文章主要介紹了關(guān)于下拉類(lèi)型多選組件Vue-Treeselect(鍵名轉(zhuǎn)換),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
vue實(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-06
vue通過(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-09
Monaco?Editor開(kāi)發(fā)SQL代碼提示編輯器實(shí)例詳解
這篇文章主要為大家介紹了Monaco?Editor開(kāi)發(fā)SQL編輯器實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
vue-cli+axios實(shí)現(xiàn)文件上傳下載功能(下載接收后臺(tái)返回文件流)
這篇文章主要介紹了vue-cli+axios實(shí)現(xiàn)文件上傳下載功能(下載接收后臺(tái)返回文件流),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
vue項(xiàng)目里面引用svg文件并給svg里面的元素賦值
這篇文章主要介紹了vue項(xiàng)目里面引用svg文件并給svg里面的元素賦值,本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08

