查看: 3237|回复: 5
打印 上一主题 下一主题

可执行多种动画、可在loop模式下使用的swiper.animate.js

[复制链接]
  • TA的每日心情
    开心
    2020-1-21 09:01
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    5

    帖子

    53

    积分

    注册会员

    Rank: 2

    积分
    53
    跳转到指定楼层
    楼主
    发表于 2020-1-20 13:35:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    Swiper
    应用插件: Swiper4.x
    分享方式: 免费分享
    创作方式: 原创
    图片展示: -
    本帖最后由 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();
            }















    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 分享淘帖
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-3-8 12:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    9

    帖子

    16

    积分

    新手上路

    Rank: 1

    积分
    16
    沙发
    发表于 2020-3-8 12:02:28 | 只看该作者
    666 ,这个看上去很赞那
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-7-1 22:04
  • 签到天数: 24 天

    [LV.4]偶尔看看III

    2

    主题

    32

    帖子

    275

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    275
    板凳
    发表于 2020-4-16 13:51:00 | 只看该作者
    这个效果很多人都想要,不知道调试起来会不会麻烦呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-1-21 09:01
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    5

    帖子

    53

    积分

    注册会员

    Rank: 2

    积分
    53
    地板
     楼主| 发表于 2020-5-26 11:30:10 | 只看该作者
    Airsola513 发表于 2020-3-8 12:02
    666 ,这个看上去很赞那

    谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-1-21 09:01
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    5

    帖子

    53

    积分

    注册会员

    Rank: 2

    积分
    53
    5#
     楼主| 发表于 2020-5-26 11:32:16 | 只看该作者
    calvin 发表于 2020-4-16 13:51
    这个效果很多人都想要,不知道调试起来会不会麻烦呢

    代码没有压缩 ,可根据自己需求修改
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2020-12-16 21:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    14

    帖子

    20

    积分

    新手上路

    Rank: 1

    积分
    20
    6#
    发表于 2020-12-13 21:27:58 | 只看该作者
    可以的!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Swiper中文网 ( 粤ICP备15001020号

    GMT+8, 2024-11-24 12:24 , Processed in 0.085256 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表