vue实现多张图片切换形成动画效果

分享一下工作中遇到的问题以及解决办法,让后面的人少走弯路

写在前面

如何实现让多张静态的图片形成动态的效果呢,网上找了找,大多是使用帧动画,但是看了之后发现不适合,UI也不好做图。因为帧动画基本就是几张图片,那超过一百张图片就不适用了。网上找了半天,终于找到了思路,就是使用setInterval,让图片动起来,分享给你们。但是,但是,但是,多张图片造成的页面加载时间问题,希望你提前考虑清楚。

具体实现

我是基于vue写的,但是其他也是可以用的
js代码

start() {
      let _this = this;
      let n = 0;
      function say() {
        _this.imgUrl = require("../../assets/img/插图00" + n + ".png");
        n = n + 1;
        if (n > 200) {
          clearInterval(abc);	//停止
        }
      }
      let abc = setInterval(say, 50);
    },

html

<img src="../../assets/img/插图00.png">

其实很简单,就是一种思路而已。
最后提醒一句,静态资源加载多了会造成页面加载慢,所以谨慎使用这个方法。让UI给直接做视频吧。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue提供了过渡效果的功能,可以实现图片切换的过渡动画。你可以使用Vue的<transition>组件来包裹图片元素,并为其添加过渡效果。常见的图片切换过渡效果包括淡入淡出和自然渐变过渡。 对于淡入淡出效果,你可以使用Vue的内置动画类名进行控制。通过在<transition>组件上添加`name`属性,然后为这个组件添加`.fade-enter-active`和`.fade-leave-active`的CSS类名,你就可以实现淡入淡出的效果。 例如,在模板中,你可以这样使用<transition>组件: ```html <transition name="fade"> <img :src="imageSrc" alt="image"> </transition> ``` 然后,在样式中,你可以添加以下CSS规则: ```css .fade-enter-active, .fade-leave-active { transition: opacity 0.5s; } .fade-enter, .fade-leave-to { opacity: 0; } ``` 这样,当imageSrc属性的值发生改变时,图片将会以淡入淡出的效果进行切换。 对于自然渐变过渡效果,你可以使用Vue的<transition-group>组件。这个组件可以管理多个元素的过渡效果,并在元素发生添加或删除时应用过渡动画。 例如,在模板中,你可以这样使用<transition-group>组件: ```html <transition-group name="fade"> <img v-for="image in images" :key="image.id" :src="image.src" alt="image"> </transition-group> ``` 然后,在样式中,你可以添加以下CSS规则: ```css .fade-enter-active, .fade-leave-active { transition: opacity 0.5s; } .fade-enter, .fade-leave-to { opacity: 0; } ``` 这样,当images数组中的元素发生添加或删除时,图片将会以自然渐变的效果进行切换

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值