最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue通過定時(shí)器實(shí)現(xiàn)垂直滾動(dòng)公告

 更新時(shí)間:2022年04月08日 10:31:46   作者:鐵錘妹妹@  
這篇文章主要為大家詳細(xì)介紹了vue通過定時(shí)器實(shí)現(xiàn)垂直滾動(dòng)公告,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

前言

最近項(xiàng)目有個(gè)需求是做一個(gè)垂直滾動(dòng)的公告,其中也涉及到了設(shè)置定時(shí)器和清除定時(shí)器方面的知識點(diǎn),在這里記錄下過程,不對的地方歡迎大家指正,一起共同進(jìn)步!

思路

1. 寫好樣式,把滾動(dòng)的內(nèi)容循環(huán)出來,固定顯示區(qū)域的高度,超出隱藏
2. 設(shè)置定時(shí)器,將第一條數(shù)據(jù)塞到最后一個(gè),刪除第一條數(shù)據(jù),暫停播放
3. 在mounted中創(chuàng)建并執(zhí)行定時(shí)器
4. destroyed中清除定時(shí)器

HTML部分

<div class="roll">
? ? ? <div class="roll-line" />
? ? ? <i class="el-icon-bell"></i>
? ? ? <ul class="list">
? ? ? ? <li
? ? ? ? ? v-for="(item, index) in ulList"
? ? ? ? ? :key="item.id"
? ? ? ? ? :class="!index && play ? 'toUp' : ''"
? ? ? ? >
? ? ? ? ? {{ item.msg }}
? ? ? ? </li>
? ? ? </ul>
</div>

JS部分

export default {
? data() {
? ? return {
? ? ? ulList: [
? ? ? ? { msg: "這是第一條信息這是第一條信息這是第一條信息這是第一條信息" },
? ? ? ? { msg: "這是第二條信息這是第二條信息這是第二條信息這是第二條信息" },
? ? ? ? { msg: "這是第三條信息這是第三條信息這是第三條信息這是第三條信息" },
? ? ? ? { msg: "這是第四條信息這是第四條信息這是第四條信息這是第四條信息" },
? ? ? ? { msg: "這是第五條信息這是第五條信息這是第五條信息這是第五條信息" }
? ? ? ],
? ? ? play: false,
? ? ? timer: null, // //接收定時(shí)器
? ? };
? },
? mounted() { ?//頁面掛載完成時(shí)就開始定時(shí)器,公告文字滾動(dòng)
? ? setInterval(this.startPlay, 4000);
? ? ?console.log('開始定時(shí)器');
? },
? destroyed() { // 頁面銷毀時(shí)清除定時(shí)器
? ? clearInterval(this.timer);?
? ? console.log('銷毀定時(shí)器');
? },
? methods: {
? ? startPlay() {
? ? ? let that = this;
? ? ? that.play = true; //開始播放
? ? ? that.timer = setTimeout(() => { ?//創(chuàng)建并執(zhí)行定時(shí)器
? ? ? ? that.ulList.push(that.ulList[0]); //將第一條數(shù)據(jù)塞到最后一個(gè)
? ? ? ? that.ulList.shift(); //刪除第一條數(shù)據(jù)
? ? ? ? that.play = false; //暫停播放
? ? ? }, 500);
? ? ? console.log(that.timer);
? ? },
? }
};

css樣式

<style lang="scss" scoped>
.roll {
? width: 100%;
? height: 60px; /*關(guān)鍵樣式*/
? line-height: 60px; /*關(guān)鍵樣式*/
? background: #fff;
? margin-bottom: 24px;
? box-shadow: 4px 0 10px rgba(226, 226, 226, 0.3);
? padding: 0 20px;
? color: #f5212d;
? font-size: 14px;
? display: flex;
? .roll-line {
? ? width: 2px;
? ? height: 100%;
? ? background: #dee2e6;
? ? margin: 0 20px 0 -20px;
? }
? .el-icon-bell {
? ? color: #343a40;
? ? line-height: 60px; /*關(guān)鍵樣式*/
? ? margin-right: 10px;
? }
? .toUp {
? ? margin-top: -60px; /*關(guān)鍵樣式*/
? ? transition: all 1s; /*關(guān)鍵樣式*/
? }
? .list {
? ? list-style: none;
? ? width: 100%;
? ? text-align: center;
? ? overflow: hidden; /*關(guān)鍵樣式*/
? ? height: 60px; /*關(guān)鍵樣式*/
? ? padding: 0;
? ? margin: 0;
? }
? li {
? ? text-align: left;
? ? height: 60px; /*關(guān)鍵樣式*/
? ? line-height: 60px; /*關(guān)鍵樣式*/
? }
}
</style>

關(guān)于定時(shí)器的清除

由于定時(shí)器在調(diào)用時(shí),都會(huì)返回一個(gè)整形的數(shù)字,該數(shù)字代表定時(shí)器的序號,即第多少個(gè)定時(shí)器,所以定時(shí)器的清除要借助于這個(gè)返回的數(shù)字。
定時(shí)器清除的方法:clearTimeout(obj)和clearInterval(obj)。(注意定時(shí)器的清除方法)

通過打印console.log(that.timer);可以看出確實(shí)會(huì)返回一個(gè)整數(shù),他代表是第幾個(gè)定時(shí)器

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue鼠標(biāo)懸停事件實(shí)例詳解

    vue鼠標(biāo)懸停事件實(shí)例詳解

    這篇文章主要介紹了vue鼠標(biāo)懸停事件,本文通過示例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04
  • VUE中使用HTTP庫Axios方法詳解

    VUE中使用HTTP庫Axios方法詳解

    本文將詳細(xì)介紹在VUE中使用HTTP庫Axios的詳細(xì)方法,需要的朋友可以參考下
    2020-02-02
  • vue+element 模態(tài)框表格形式的可編輯表單實(shí)現(xiàn)

    vue+element 模態(tài)框表格形式的可編輯表單實(shí)現(xiàn)

    這篇文章主要介紹了vue+element 模態(tài)框表格形式的可編輯表單實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-06-06
  • 詳解vue大文件視頻切片上傳的處理方法

    詳解vue大文件視頻切片上傳的處理方法

    前端上傳大文件、視頻的時(shí)候會(huì)出現(xiàn)超時(shí)、過大、很慢等情況,為了解決這一問題,跟后端配合做了一個(gè)切片的功能,接下來就詳細(xì)的給大家介紹一下vue大文件視頻切片上傳的處理方法,需要的朋友可以參考下
    2023-08-08
  • vue分頁器組件編寫方法詳解

    vue分頁器組件編寫方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue分頁器組件編寫方法,可設(shè)置初始當(dāng)前頁,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • vue項(xiàng)目中使用lib-flexible解決移動(dòng)端適配的問題解決

    vue項(xiàng)目中使用lib-flexible解決移動(dòng)端適配的問題解決

    這篇文章主要介紹了vue項(xiàng)目中使用lib-flexible解決移動(dòng)端適配的問題解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • vue父組件通過props如何向子組件傳遞方法詳解

    vue父組件通過props如何向子組件傳遞方法詳解

    在Vue 中,可以使用 props 向子組件傳遞數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于vue父組件通過props如何向子組件傳遞方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • 使用Vue和ECharts創(chuàng)建交互式圖表的代碼示例

    使用Vue和ECharts創(chuàng)建交互式圖表的代碼示例

    在現(xiàn)代 Web 應(yīng)用中,數(shù)據(jù)可視化是一個(gè)重要的組成部分,它不僅能夠幫助用戶更好地理解復(fù)雜的數(shù)據(jù),還能提升用戶體驗(yàn),本文給大家使用Vue和ECharts創(chuàng)建交互式圖表的示例,需要的朋友可以參考下
    2024-11-11
  • elementPuls 表格反選實(shí)現(xiàn)示例代碼

    elementPuls 表格反選實(shí)現(xiàn)示例代碼

    這篇文章主要介紹了elementPuls 表格反選實(shí)現(xiàn)示例代碼,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-07-07
  • vue-cli安裝全過程(附帶cnpm安裝不成功及vue不是內(nèi)部命令)

    vue-cli安裝全過程(附帶cnpm安裝不成功及vue不是內(nèi)部命令)

    這篇文章主要介紹了vue-cli安裝全過程(附帶cnpm安裝不成功及vue不是內(nèi)部命令),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論

荆州市| 壶关县| 达孜县| 安多县| 历史| 凤城市| 彰化市| 勃利县| 阿拉善右旗| 潞城市| 屏东市| 扎兰屯市| 邮箱| 山丹县| 盘锦市| 东乡县| 泗洪县| 甘泉县| 巴彦县| 怀集县| 福泉市| 姚安县| 马尔康县| 哈密市| 玉龙| 宜川县| 西宁市| 澜沧| 璧山县| 磴口县| 昔阳县| 溧阳市| 百色市| 台前县| 凉山| 岳普湖县| 青河县| 龙海市| 玉屏| 罗定市| 辽阳市|