Swiper中文论坛

标题: 可执行多种动画、可在loop模式下使用的swiper.animate.js [打印本页]

作者: bbbbbbb    时间: 2020-1-20 13:35
标题: 可执行多种动画、可在loop模式下使用的swiper.animate.js
本帖最后由 bbbbbbb 于 2020-1-20 17:26 编辑

github :传送门

demo  :传送门

1.引入模块
import {swiperAnimate,swiperAnimateCache} from 'swiper.animate.js'
或者
let swiperAnimate=window.swiperAnimate;
let swiperAnimateCache=window.swiperAnimateCache;
2.初始化
var mySwiper = new Swiper ('.swiper-container', {
    on:{
      init: function(){
        swiperAnimateCache(this); //隐藏动画元素
        swiperAnimate(this); //初始化完成开始动画
      },
      slideChange: function(){
        swiperAnimate(this); //每个slide切换结束时也运行当前slide动画
      }
    }
  })  
3.在需要运动的元素上面增加类名 ani ,swiper.animate需要指定几个参数:
value:    切换效果,例如 fadeInUp
delay:    动画延迟时间,例如 0.3s
loop:     动画循环次数,例如 1 (0为无限次)
duration: 动画持续时间,例如 0.5s

    <div class="swiper-slide">
       <p class="ani"
         swiper-animate-effect='[{"value":"fadeInRight","duration":1,"loop":1,"delay":0},{"value":"fadeInLeft","duration":1,"loop":2,"delay":0}]'>
          slider1</p>
    </div>

// 动态设置动画
        let ani = [{
            "value": "fadeInRight",
            "duration": 1,
            "loop": 1,
            "delay": 0
        }, {
            "value": "fadeInLeft",
            "duration": 1,
            "loop": 1,
            "delay": 0
        }, {
            "value": "fadeIn",
            "duration": 1,
            "loop": 1,
            "delay": 0
        }, ];
        for (let i = 0; i < 3; i++) {
            let div = document.createElement('div');
            let p = document.createElement('p');
            p.innerText = '这是一个新的Slide';
            p.className = 'ani';
            p.setAttribute('swiper-animate-effect', JSON.stringify(ani));
            div.appendChild(p);
            div.className = 'swiper-slide';
            mySwiper.addSlide(1, div);
            mySwiper.updateSlides();
        }
















作者: Airsola513    时间: 2020-3-8 12:02
666 ,这个看上去很赞那

作者: calvin    时间: 2020-4-16 13:51
这个效果很多人都想要,不知道调试起来会不会麻烦呢
作者: bbbbbbb    时间: 2020-5-26 11:30
Airsola513 发表于 2020-3-8 12:02
666 ,这个看上去很赞那

谢谢
作者: bbbbbbb    时间: 2020-5-26 11:32
calvin 发表于 2020-4-16 13:51
这个效果很多人都想要,不知道调试起来会不会麻烦呢

代码没有压缩 ,可根据自己需求修改
作者: Qinver    时间: 2020-12-13 21:27
可以的!




欢迎光临 Swiper中文论坛 (http://bbs.swiper.com.cn/) Powered by Discuz! X3.2