vue实现公告栏文字上下滚动效果的示例代码


Posted in Javascript onJune 16, 2020

本文详细的介绍了vue实现公告栏文字上下滚动效果的示例代码,分享给大家,具体入如下:

代码实现:

在项目结构的components中新建text-scroll.vue文件

<template>
 <div class="text-container">
  <transition class="" name="slide" mode="out-in">
   <p class="text" :key="text.id">{{text.val}}</p>
  </transition>
 </div>
</template>

<script>

export default {
 name: 'TextScroll',
 props: {
 dataList: {
  type: Array,
  default() {
  return [];
  },
 },
 },
 data() {
 return {
  count: 0, // 当前索引
  intervalId: null, // 定时器ID
  playTime: 2000, // 定时器执行间隔
 };
 },
 computed: {
 text() {
  return {
  id: this.count,
  val: this.dataList[this.count],
  };
 },
 },
 created() {
 this.intervalId = setInterval(() => { // 定义定时器
  this.getText();
 }, this.playTime);
 },
 methods: {
 getText() {
  const len = this.dataList.length; // 获取数组长度
  if (len === 0) {
  return; // 当数组为空时,直接返回
  }
  if (this.count === len - 1) { // 当前为最后一个时
  this.count = 0; // 从第一个开始
  } else {
  this.count++; // 自增
  }
 },
 },
 destroyed() {
 clearInterval(this.intervalId); // 清除定时器
 },
};
</script>

<style scoped>
.text-container{
 font-size: 14px;
 color: #F56B6B;
 margin-right: 20px;
 height: 60px;
}

.text {
 text-align: right;
 margin: auto 0;
}

.slide-enter-active, .slide-leave-active {
 transition: all 1s;
}

.slide-enter{
 transform: translateY(40px);
}

.slide-leave-to {
 transform: translateY(-40px);
}
</style>

在header-bar组件使用

<text-scroll :dataList="noticeList"></text-scroll>

 分析

transition标签

vue实现公告栏文字上下滚动效果的示例代码

这里是动态组件

官方文档:https://cn.vuejs.org/v2/guide/transitions.html

为什么用setInterval,而不是setTimeout

setInterval是循环执行,setTimeout是延迟执行。我们这里要的是setTimeout循环执行。通过嵌套setTimeout可以实现循环,但是每次都会注册一个计时器,然后时间上也是需要等当前setTimeout执行完再延迟比如说两秒执行,实际上就不只2s。

什么情况下setTimeout嵌套可以解决 setInterval 解决不了的问题 当计时器是高耗时的计算或者dom操作时,时间大于延迟时间

 到此这篇关于vue实现公告栏文字上下滚动效果的示例代码的文章就介绍到这了,更多相关vue 公告栏文字上下滚动 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
自己整理的一个javascript日期处理函数
Oct 16 Javascript
jQuery UI Autocomplete 体验分享
Feb 14 Javascript
jquery写个checkbox——类似邮箱全选功能
Mar 19 Javascript
jquery 扑捉回车键事件代码
Apr 24 Javascript
Javascript原型链和原型的一个误区
Oct 22 Javascript
JavaScript图片轮播代码分享
Jul 31 Javascript
json格式的javascript对象用法分析
Jul 04 Javascript
微信小程序 绘图之饼图实现
Oct 24 Javascript
实例浅析js的this
Dec 11 Javascript
Vue动态实现评分效果
May 24 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 27 Javascript
vue实现购物车加减
May 30 Javascript
原生JS实现无缝轮播图片
Jun 24 #Javascript
如何利用Node.js与JSON搭建简单的动态服务器
Jun 16 #Javascript
js+css实现全屏侧边栏
Jun 16 #Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
Jun 15 #Javascript
通过实例解析JavaScript for in及for of区别
Jun 15 #Javascript
vue proxy 的优势与使用场景实现
Jun 15 #Javascript
原生JS利用transform实现banner的无限滚动示例代码
Jun 15 #Javascript
You might like
用PHP和ACCESS写聊天室(二)
2006/10/09 PHP
php检测url是否存在的方法
2015/04/14 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
JQuery DataTable删除行后的页面更新利用Ajax解决
2013/05/17 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
AngularJs bootstrap搭载前台框架——准备工作
2016/09/01 Javascript
JavaScript实现自定义媒体播放器方法介绍
2017/01/03 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
jquery表单验证实例仿Toast提示效果
2017/03/03 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
vue项目刷新当前页面的三种方法
2018/12/04 Javascript
使用layui实现的左侧菜单栏以及动态操作tab项方法
2019/09/10 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
2019/10/12 Javascript
python获得图片base64编码示例
2014/01/16 Python
python操作mysql代码总结
2018/06/01 Python
Python使用itchat 功能分析微信好友性别和位置
2019/08/05 Python
python如何将两个txt文件内容合并
2019/10/18 Python
Python imread、newaxis用法详解
2019/11/04 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
jupyter notebook参数化运行python方式
2020/04/10 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
建筑文秘专业个人求职信范文
2013/12/28 职场文书
自我鉴定三原则
2014/01/13 职场文书
和解协议书
2014/04/16 职场文书
白莲教口号
2014/06/18 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
毕业证委托书范文
2014/09/26 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
校运会班级霸气口号
2015/12/24 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS