最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

如何实现单行文字向上滚动的效果(附代码)

来源:动视网 责编:小采 时间:2020-11-27 18:47:48
文档

如何实现单行文字向上滚动的效果(附代码)

如何实现单行文字向上滚动的效果(附代码):这篇文章给大家介绍的内容是关于如何实现单行文字向上滚动的效果(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。最近在做一个活动页,需要一个单行文字向上滚动的效果来展示获奖公告。效果如下:废话不多说,下面直接贴上代码。
推荐度:
导读如何实现单行文字向上滚动的效果(附代码):这篇文章给大家介绍的内容是关于如何实现单行文字向上滚动的效果(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。最近在做一个活动页,需要一个单行文字向上滚动的效果来展示获奖公告。效果如下:废话不多说,下面直接贴上代码。
 这篇文章给大家介绍的内容是关于如何实现单行文字向上滚动的效果(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

最近在做一个活动页,需要一个单行文字向上滚动的效果来展示获奖公告。

效果如下:

废话不多说,下面直接贴上代码。

html代码如下:

 <div class="notice">
 <img src="./img/notice.png" alt="">
 <div class="wrap">
 <ul :style="{top: noticeTop + 'rem'}" :class="{transitionTop: isActive}">
 <li v-for="(item, index) in noticeList" :key="index">{{item.phone}}抽中{{item.prizeName}}</li>
 <li v-if="noticeLen > 0">{{noticeList[0].phone}}抽中{{noticeList[0].prizeName}}</li>
 <li v-if="noticeLen === 1">{{noticeList[0].phone}}抽中{{noticeList[0].prizeName}}</li>
 <li v-if="noticeLen === 0">获奖公告</li>
 </ul>
 </div>
 </div>

less代码如下:

 .notice{
 display: flex;
 justify-content: center;
 padding-bottom: .26rem;
 img{
 width: .3rem;
 height: .24rem;
 }
 .wrap{
 position: relative;
 height:.3rem;
 overflow: hidden;
 margin-left: .15rem;
 font-size: .24rem;
 color: #391b03;
 }
 ul{
 position: relative;
 top: -.3rem;
 li{
 height: .3rem;
 line-height: .3rem;
 }
 }
 .transitionTop{
 transition: top 200ms ease-in-out;
 }
 }

js代码如下:

 // data下
 noticeTop: 0, // 公告top值
 isActive:true, // 是否显示transitionTop动画
 timer: null, // 公告滚动定时器
 noticeList: [
 {
 phone:'135****1234',
 prizeName:'50元还款券'
 },
 {
 phone:'135****1234',
 prizeName:'60元还款券'
 },
 {
 phone:'135****1234',
 prizeName:'70元还款券'
 }
 ], // 公告列表
 
 // computed下
 noticeLen(){ // 公告列表长度
 return this.noticeList.length;
 }
 //methods下
 noticeScroll(){// 公告滚动,定时改变公告的top值
 if(this.noticeLen > 0){
 let index =1,
 len = this.noticeLen === 1 ? 3 : (this.noticeLen + 1);
 this.timer = setInterval(() => {
 this.isActive = true;
 this.noticeTop = -3 * index / 10;
 index ++;
 if(index === len){// 滚动到底部时返回
 let delayTime = setTimeout(() => {
 this.isActive = false;
 this.noticeTop = 0;
 index = 1;
 clearTimeout(delayTime);
 }, 1000);
 }
 }, 3000);
 }
 }
 //调用
 this.noticeScroll();

需要说明的是:
1.项目是基于vue的语法
2.滚动到底部返回时加了个延迟,是为了能滚动到最后一个,然后从最后一个返回到第一个。

相关文章推荐:

css3怎么实现页面滚动动画特效?

怎么用css3制作样式好看的按钮?

文档

如何实现单行文字向上滚动的效果(附代码)

如何实现单行文字向上滚动的效果(附代码):这篇文章给大家介绍的内容是关于如何实现单行文字向上滚动的效果(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。最近在做一个活动页,需要一个单行文字向上滚动的效果来展示获奖公告。效果如下:废话不多说,下面直接贴上代码。
推荐度:
标签: 文字 实现 滚动
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top