vue+定時器實現(xiàn)滾動列表動效

利用vue+定時器實現(xiàn)一個豎排列表每條滾動的效果,廢話不多說马澈,先上動效


基本效果.gif

如果想實現(xiàn)此效果茶敏,整體思路是這樣的

1.我們設(shè)置一個定時器,沒過一段時間使盒子中的ul整體上移一個li的高度掏愁,因此需要改變ul的margin-top樣式,我們先設(shè)置一個狀態(tài)為動畫開關(guān)和一個數(shù)據(jù)列表卵牍。

data:{
  animate: false,
  // 列表長度可根據(jù)需求自己隨意mock
  oldCustomersList: [
    {
        nickName: '測試',
        giftName: '100京豆'
    },
    {
        nickName: '測試',
        giftName: '100京豆'
    },
    {
        nickName: '測試',
        giftName: '100京豆'
    }
  ],
}

2.給我們需要加動畫的列表設(shè)置動態(tài)樣式果港,當(dāng)開關(guān)animate為true時改變margin-top的值。

<div class="marquee">
     <div class="marquee_box">
           <ul class="marquee_list" :class="{marquee_top:animate}">
             <!-- 用v-for渲染列表糊昙,key一定要加不然報錯辛掠,基本操作 -->
             <li v-for="(item, index) in collectEecordsList" :key="index">
               <p>{{item.nickName}}</p>
               <p>領(lǐng)取{{item.giftName}}</p>
             </li>
           </ul>
     </div>
</div>

5.我們?yōu)榻M件設(shè)置完成動畫需要的樣式

.marquee {
    width: 5.78rem;
    height: 3.48rem;
    overflow: hidden;
    background: url(https://img10.360buyimg.com/imgzone/jfs/t1/143710/5/12903/5792/5f9f9f60E740a7111/f41e707438dc4412.png) no-repeat center;
    background-size: 100%;
    padding-top: 0.56rem;
    margin: 0.6rem auto 0;
}

.marquee_box {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.marquee_list {
    display: block;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
/* 這里為開關(guān)為true時添加的css樣式,來改變ul的释牺,margin-top */
.marquee_top {
    transition: all 0.5s ease-out;
    margin-top: -0.5rem;
}

.marquee_list li {
    width: 100%;
    height: 0.5rem;
    line-height: 0.5rem;
    font-size: 0.26rem;
    display: flex;
    border-bottom: 1px solid #ffd599;
    padding-left: 0.2rem;
    color: #af7427;
}

.marquee_list li p:nth-of-type(1) {
    width: 2.3rem;
    height: 100%;
}

4.接下來我們封裝一個方法showMarquee萝衩,在創(chuàng)建dom節(jié)點每兩秒調(diào)用一次該函數(shù),由于列表過短會導(dǎo)致動效不好看没咙,所以在調(diào)用定時器之前可以對數(shù)組長度進(jìn)行判斷猩谊,自行修改。函數(shù)體為在調(diào)用之后先讓ul上移祭刚,過500毫秒之后執(zhí)行一次動畫停止牌捷,在停止期間操作數(shù)據(jù)列表,將列表第一項push給列表最后一項涡驮,再刪除第一項暗甥,保證列表可以循環(huán)滾動。

created() {
  setInterval(this.showMarquee, 2000);
},
methods: {
  showMarquee() {
    if ( this.collectEecordsList.length > 6 ) {
      this.animate = true;
      setTimeout(() => {
        this.collectEecordsList.push(this.collectEecordsList[0]);
        this.collectEecordsList.shift();
        this.animate = false;
      }, 500);
    }
  },
}捉捅,

順便附上隱藏昵稱函數(shù)

nickName(name) {
  if( name.length < 3 ) {
    return name[0] + '*';
  }
  if( name.length > 2 ) {
    return name[0] + new Array(name.length - 2).fill("*").join("*") + name[name.length - 1];
  }
 },

在獲取列表之后調(diào)用即可

let newCollectEecordsList = activityGiftRecords;
  newCollectEecordsList.forEach((value, index) => {
  value.nickName = self.nickName(value.nickName);
});
self.collectEecordsList = newCollectEecordsList; // 記錄領(lǐng)取記錄

如果需要直接復(fù)制粘貼整體思路即可撤防,樣式列表能根據(jù)需求而定,親測好用0艨凇寄月!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市无牵,隨后出現(xiàn)的幾起案子漾肮,更是在濱河造成了極大的恐慌,老刑警劉巖合敦,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件初橘,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機保檐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門耕蝉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人夜只,你說我怎么就攤上這事垒在。” “怎么了扔亥?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵场躯,是天一觀的道長。 經(jīng)常有香客問我旅挤,道長踢关,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任粘茄,我火速辦了婚禮签舞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘柒瓣。我一直安慰自己儒搭,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布芙贫。 她就那樣靜靜地躺著搂鲫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪磺平。 梳的紋絲不亂的頭發(fā)上魂仍,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天,我揣著相機與錄音褪秀,去河邊找鬼蓄诽。 笑死薛训,一個胖子當(dāng)著我的面吹牛媒吗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乙埃,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼闸英,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了介袜?” 一聲冷哼從身側(cè)響起甫何,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎遇伞,沒想到半個月后辙喂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年巍耗,在試婚紗的時候發(fā)現(xiàn)自己被綠了秋麸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡炬太,死狀恐怖灸蟆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情亲族,我是刑警寧澤炒考,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站霎迫,受9級特大地震影響斋枢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜知给,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一杏慰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炼鞠,春花似錦缘滥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至霎肯,卻和暖如春擎颖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背观游。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工搂捧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人懂缕。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓允跑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親搪柑。 傳聞我的和親對象是個殘疾皇子聋丝,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359