vue实现消息的无缝滚动效果

摘要:
JSexportdefault{data(){return{animal:false,items:〔{name:“马云”},{name::“雷军”}、{name::“王琴”}〕},created(){setInterval(this.scroll,1000)},methods:

JS

export default {
data() {
  return {
      animate:false,
      items:[
          {name:"马云"},
          {name:"雷军"},
          {name:"王勤"}
      ]
  }
},
created(){
    setInterval(this.scroll,1000)
},
methods: {
    scroll(){
       this.animate=true;    // 因为在消息向上滚动的时候需要添加css3过渡动画,所以这里需要设置true
       setTimeout(()=>{      //  这里直接使用了es6的箭头函数,省去了处理this指向偏移问题,代码也比之前简化了很多
               this.items.push(this.items[0]);  // 将数组的第一个元素添加到数组的
               this.items.shift();               //删除数组的第一个元素
               this.animate=false;  // margin-top 为0 的时候取消过渡动画,实现无缝滚动
       },500)
    }
}

CSS

#box{
     300px;
    height: 32px;
    overflow: hidden;
    padding-left: 30px;
    border: 1px solid black;
}
.anim{
    transition: all 0.5s;
    margin-top: -30px;
}
#con1 li{
    list-style: none;
    line-height: 30px;
    height: 30px;
}

HTML

<div id="box">
            <ul   ref="con1" :class="{anim:animate==true}">
                <li v-for='item in items'>{{item.name}}</li>
            </ul>
</div>

  

免责声明:文章转载自《vue实现消息的无缝滚动效果》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux中patch命令 -p 选项springboot 默认异常处理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Jenkins Generic Webhook Trigger+gitlab设置触发器

在生产环境中因为代码仓库迁移导致Jenkins设置的触发器失效,在调试的过程gitlab触发事件响应状态码为200,但是响应消息一直为{"status":"ok","data":{..."triggered":false,"url":""}}}} 。 此篇文章的描述主要针对该问题,且面向对Jenkins和Gitlab有一定经验的小伙伴。 文章标签: Je...

深入理解Flutter多线程

Flutter默认是单线程任务处理的,如果不开启新的线程,任务默认在主线程中处理。 事件队列 和iOS应用很像,在Dart的线程中也存在事件循环和消息队列的概念,但在Dart中线程叫做isolate。应用程序启动后,开始执行main函数并运行main isolate。 每个isolate包含一个事件循环以及两个事件队列,event loop事件循环,以及e...

飞利浦医学成像系统披露多个安全漏洞,黑客可远程控制!

近日,飞利浦临床协作平台门户(又名 Vue PACS)中披露了多个安全漏洞,其中一些漏洞可能被攻击者利用来控制受影响的系统。 知名网络安全专家、东方联盟创始人郭盛华透露:“黑客成功利用这些漏洞可能允许未经授权的人或进程窃听、查看或修改数据、获得系统访问权限、执行代码、安装未经授权的软件或影响系统数据完整性,从而对机密性、完整性产生负面影响或系统的可用性。“...

vue 查询分页

后端用的flask,前端vue,查询结果展示以及分页 如图: 代码如下: 前端: 1 <template> 2 <div> 3 <el-row> 4 <el-col :span="18"> 5 <el...

实时日志刷新

任务在执行过程中,日志增量写入(按行写入) 可以使用Redis来缓存日志文件(Redis具有append方法可以增量写入) 将当前更新的日志片段,作为一条消息发塞入MQ WebSocket服务端监听MQ,将消息的内容转发给前端(此处几乎没有任何逻辑) 或者丢弃 前端收到WebSocket发送来的消息 根据需要刷新界面 如果日志不能增量写入,可以定时查询...

如何运行vue项目

转载:如何运行vue项目 目录(?)[-] 安装cnpm 安装vue-cli脚手架构建工具 用vue-cli构建项目 安装项目所需的依赖 运行项目 在师兄的推荐下入坑vue.js ,发现不知如何运行GitHub上的开源项目,很尴尬。通过查阅网上教程,成功搭建好项目环境,同时对前段工程化有了朦朦胧胧的认知,因此将环境搭建过程分享给大家。 首先,列...