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实现yield的方法
Nov 06 Javascript
javascript获取所有同类checkbox选项(实例代码)
Nov 07 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
May 02 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
Dec 05 Javascript
JavaScript将数组转换成CSV格式的方法
Mar 19 Javascript
JavaScript检测鼠标移动方向的方法
May 22 Javascript
BootStrap实现树形目录组件代码详解
Jun 21 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
Aug 19 Javascript
Vue组件化通讯的实例代码
Jun 23 Javascript
vue-cli监听组件加载完成的方法
Sep 07 Javascript
Node.js assert断言原理与用法分析
Jan 04 Javascript
js基础语法与maven项目配置教程案例
Jul 15 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 多线程上下文中安全写文件实现代码
2009/12/28 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
微信支付扫码支付php版
2016/07/22 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
通过JAVAScript实现页面自适应
2007/01/19 Javascript
用js实现随机返回数组的一个元素
2007/08/13 Javascript
Javascript 布尔型分析
2008/12/22 Javascript
jQuery 三击事件实现代码
2013/09/11 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
jQuery操作css样式
2017/05/15 jQuery
javascript 玩转Date对象(实例讲解)
2017/07/11 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
JS实现中英文混合文字溢出友好截取功能
2018/08/06 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
python中enumerate函数用法实例分析
2015/05/20 Python
python字典基本操作实例分析
2015/07/11 Python
python如何生成各种随机分布图
2018/08/27 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
Python3 用什么IDE开发工具比较好
2020/11/28 Python
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
纽约通行卡:The New York Pass(免费游览纽约90多个景点)
2017/07/29 全球购物
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
大学生个人自荐信
2014/02/24 职场文书
小学教师师德演讲稿
2014/05/06 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
结婚老公保证书
2015/02/26 职场文书