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 router安装及使用方法解析
Dec 02 Vue.js
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
vue二选一tab栏切换新做法实现
Jan 19 Vue.js
vue常用高阶函数及综合实例
Feb 25 Vue.js
vue3.0封装轮播图组件的步骤
Mar 04 Vue.js
Vue详细的入门笔记
May 10 Vue.js
Vue和Flask通信的实现
May 19 Vue.js
Vue-Element-Admin集成自己的接口实现登录跳转
Jun 23 Vue.js
Vue3.0写自定义指令的简单步骤记录
Jun 27 Vue.js
详解Vue的列表渲染
Nov 20 Vue.js
vue选项卡切换的实现案例
Apr 11 Vue.js
vue css 相对路径导入问题级踩坑记录
Jun 05 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错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
php readfile()修改文件上传大小设置
2017/08/11 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
js实现交通灯效果
2017/01/13 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
2017/02/23 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
浅谈sass在vue注意的地方
2017/08/10 Javascript
webpack4 升级迁移的实现
2018/09/12 Javascript
微信小程序和百度的语音识别接口详解
2019/05/06 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
javascript实现弹幕墙效果
2019/11/28 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
[01:24]DOTA2上海特锦赛OG战队抵达 专车接机入驻总统套房
2016/02/23 DOTA
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
python连接数据库的方法
2017/10/19 Python
python编写分类决策树的代码
2017/12/21 Python
构建高效的python requests长连接池详解
2020/05/02 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
西班牙在线药店:DosFarma
2020/03/28 全球购物
宣传工作经验材料
2014/06/02 职场文书
事业单位人员的自我评价范文
2014/09/21 职场文书
解析redis hash应用场景和常用命令
2021/08/04 Redis