Vue实现一种简单的无限循环滚动动画的示例


Posted in Vue.js onJanuary 10, 2021

本文主要介绍了Vue实现一种简单的无限循环滚动动画的示例,分享给大家,具体如下:

先看实现效果:

Vue实现一种简单的无限循环滚动动画的示例

这种类似轮播的效果,通常可以使用轮播的方案解决,只不过相对于我要分享的方案来说,轮播实现还是要复杂些的。
Vue提供了一种过渡动画transition-group,这里我便是利用的这个效果

// template
<transition-group name="list-complete" tag="div">
 <div
  v-for="v in items"
  :key="v.ix"
  class="item list-complete-item pro-panel"
  :style="{ height: sh }"
 >
  // 内容部分 
 </div>
</transition-group>

//scss
.list-complete-item {
 transition: all 1s;
}
.list-complete-leave-to {
 opacity: 0;
 transform: translateY(-80px);
}
.list-complete-leave-active {
 position: absolute;
}

这样,动画效果就出来了,但是却不能自动执行,所以我利用了setInterval:

mounted() {
 let count = 4000
 if (!this.timer) {
  this.timer = setInterval(() => {
   if (this.items.length > 1) {
    this.remove()
    this.$nextTick().then(() => {
     this.add()
    })
   }
  }, count)
 }
},
methods: {
 add: function() {
  if (this.items && this.items.length) {
   const item = { ...this.removeitem[0] }
   item.ix = this.nextNum++
   this.items.push(item)
  }
 },
 remove: function() {
  this.removeitem = this.items.splice(0, 1)
 }
}

如比,效果得以实现,是不是更简单点。顺带提一下,我这边实现的效果是单条滚动,就像新闻滚动那样,所以视图窗口只能看到一条数据,你也可以不这样限制,那么就能显示整个列表了,不过每次还是只有单条数据的消失效果。

PS:动态渲染图片可以使用这种方式

<img
 :src="require(`@/assets/imgs/icons/${somevar}.png`)"
>

当然,如果有不同的意见,欢迎留言交流!

到此这篇关于Vue实现一种简单的无限循环滚动动画的示例的文章就介绍到这了,更多相关Vue 无限滚动动画内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木! 

Vue.js 相关文章推荐
Vue 实现一个简单的鼠标拖拽滚动效果插件
Dec 10 Vue.js
vue+element实现动态加载表单
Dec 13 Vue.js
vue下拉刷新组件的开发及slot的使用详解
Dec 23 Vue.js
Vue实现省市区三级联动
Dec 27 Vue.js
Vue看了就会的8个小技巧
Jan 21 Vue.js
vue keep-alive的简单总结
Jan 25 Vue.js
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 Vue.js
浅谈vue2的$refs在vue3组合式API中的替代方法
Apr 18 Vue.js
vue首次渲染全过程
Apr 21 Vue.js
详解vue中v-for的key唯一性
May 15 Vue.js
vue里使用create, mounted调用方法
Apr 26 Vue.js
vue3 自定义图片放大器效果的示例代码
Jul 23 Vue.js
基于vuex实现购物车功能
Jan 10 #Vue.js
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
Jan 08 #Vue.js
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 #Vue.js
vue编写简单的购物车功能
Jan 08 #Vue.js
解决vue使用vant轮播组件swipe + flex时文字抖动问题
Jan 07 #Vue.js
vuex的使用和简易实现
Jan 07 #Vue.js
vue watch监控对象的简单方法示例
Jan 07 #Vue.js
You might like
PHP分页详细讲解(有实例)
2013/10/30 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
使用jquery实现select添加实现后台权限添加的效果
2011/05/28 Javascript
yepnope.js 异步加载资源文件
2011/09/08 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
2015/01/01 NodeJs
javascript多行字符串的简单实现方式
2015/05/04 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
python统计文本文件内单词数量的方法
2015/05/30 Python
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
简单谈谈python基本数据类型
2018/09/26 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
python操作文件的参数整理
2019/06/11 Python
python3 os进行嵌套操作的实例讲解
2020/11/19 Python
python性能测试工具locust的使用
2020/12/28 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
在线实验室测试:HealthLabs.com
2020/05/03 全球购物
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
介绍一下RMI的基本概念
2016/12/17 面试题
师范生自我鉴定
2014/03/20 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
vue实力踩坑之push当前页无效
2022/04/10 Vue.js