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 插槽简介及使用示例
Nov 19 Vue.js
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
Nov 20 Vue.js
浅析vue中的nextTick
Dec 28 Vue.js
vue中watch的用法汇总
Dec 28 Vue.js
Vue实现随机验证码功能
Dec 29 Vue.js
Vue仿Bibibili首页的问题
Jan 21 Vue.js
vue穿梭框实现上下移动
Jan 29 Vue.js
vue2实现provide inject传递响应式
May 21 Vue.js
vue中利用mqtt服务端实现即时通讯的步骤记录
Jul 01 Vue.js
Vue3如何理解ref toRef和toRefs的区别
Feb 18 Vue.js
Vue 打包后相对路径的引用问题
Jun 05 Vue.js
vue实现简易音乐播放器
Aug 14 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执行速度全攻略(下)
2006/10/09 PHP
做一个有下拉功能的留言版
2006/10/09 PHP
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
2016/03/31 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
2020/05/26 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
js实现弹窗效果
2020/08/09 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
[32:30]夜魇凡尔赛茶话会 第一期01:谁是卧底
2021/03/11 DOTA
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
python实现数据图表
2017/07/29 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
python实现网页录音效果
2020/10/26 Python
英国网上花店:Bunches
2016/11/29 全球购物
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
室内设计专业个人的自我评价
2013/10/19 职场文书
乐观大学生的自我评价
2014/01/10 职场文书
煤矿安全生产责任书
2014/04/15 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
档案保密承诺书
2014/06/03 职场文书
生日赠语
2015/06/23 职场文书
运动员代表致辞
2015/07/29 职场文书
大学生受助感言
2015/08/01 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书