关于swiper与animation的总结和现存在的问题

本文介绍了如何使用Swiper组件创建全屏轮播,并结合Animation实现不同场景下的动画效果,包括竖屏轮播、横屏轮播、横竖屏交叉轮播以及带有两次不同动画的竖屏轮播。同时也提到了在尝试将动画应用于横竖屏都有的轮播时遇到的问题。

swiper是一个很好的全屏轮播的组件,以下为个人总结希望各位大牛光临指正:

1.普通的竖屏全屏轮播:

<head>内:

<link rel="stylesheet" href="css/swiper.min.css">

<script src="js/jquery-1.8.3.min.js"></script>

<script src="js/swiper.min.js"></script>

<body>内:

<div class="swiper-container ">
    <div class="swiper-wrapper">
      <div class="swiper-slide " >Slide 1</div>
      <div class="swiper-slide " >Slide 2</div>
      <div class="swiper-slide" >Slide 3</div>

   </div>

</div>

<script>内:

var mySwiper = new Swiper ('.swiper-container', {
 direction: 'vertical',
})



2.横屏:

var mySwiper = new Swiper ('.swiper-container', {

})

/*这是最简单的全屏轮播。许多属性没写,想写的话可以看api官网*/



3.横竖屏交叉的全屏轮播:

<head>内的引用一致;

<body>内:

 <!-- Swiper -->
  <div class="swiper-container swiper-container-h">
    <div class="swiper-wrapper">
      <div class="swiper-slide " >Slide 1</div>
      <div class="swiper-slide " >Slide 2</div>
      <div class="swiper-slide " >Slide 3</div>
      <div class="swiper-slide " >Slide4</div>
      <div class="swiper-slide">
       <div class="swiper-container swiper-container-v">
        <div class="swiper-wrapper">
         <div class="swiper-slide " >竖向内容一</div>
         <div class="swiper-slide " >竖向内容二</div>
         <div class="swiper-slide" >竖向内容三</div>
         <div class="swiper-slide" >竖向内容四</div>
        </div>
       </div>
      </div>
      <div class="swiper-slide " >Slide 6</div>
      <div class="swiper-slide " >Slide 7</div>
      <div class="swiper-slide " >Slide 8</div>
      <div class="swiper-slide " >Slide 9</div>
      <div class="swiper-slide " >Slide 10</div>
    </div>
    <!-- Add Pagination -->
  <!--  <div class="swiper-pagination"></div>-->
  </div>

<script>内:

var mySwiper = new Swiper ('.swiper-container-v', {
 direction: 'vertical',
})
   var Swiper = new Swiper ('.swiper-container-h', {
})


4.普通的竖屏轮播加animation动画

<head>内:

  <link rel="stylesheet" href="css/swiper.min.css">
  <link rel="stylesheet" href="css/animate.min.css"><!--可删-->

   <script src="js/jquery-1.8.3.min.js"></script>
   <!-- Swiper JS -->
  <script src="js/swiper.min.js"></script>
  <script src="js/swiper.animate1.0.2.min.js"></script>

<body>内:

<div class="swiper-container ">
    <div class="swiper-wrapper">
      <div class="swiper-slide " ><span class="ani"  swiper-animate-effect="fadeInUp" swiper-animate-duration="0.5s" swiper-animate-delay="0.5s">Slide 1</span></div>
      <div class="swiper-slide " ><span class="ani" swiper-animate-effect="fadeInUp" swiper-animate-duration="0.5s" swiper-animate-delay="0.5s">Slide 2</span></div>
      <div class="swiper-slide" ><span class="ani" swiper-animate-effect="fadeInUp" swiper-animate-duration="0.5s" swiper-animate-delay="0.5s">Slide 3</span></div>

   </div>

</div>

<!--effect:效果  duration:持续时间  delay:等待时间-->

<script>内:

 //Swiper3.x、Swiper2.x
//var mySwiper = new Swiper ('.swiper-container', {
//  onInit: function(swiper){ //Swiper2.x的初始化是onFirstInit
//    swiperAnimateCache(swiper); //隐藏动画元素
//    swiperAnimate(swiper); //初始化完成开始动画
//  },
//  onSlideChangeEnd: function(swiper){
//    swiperAnimate(swiper); //每个slide切换结束时也运行当前slide动画
//  }
//})

//Swiper4.x
var mySwiper1 = new Swiper ('.swiper-container', {
    direction: 'vertical',//竖屏
    on:{
      init: function(){
        swiperAnimateCache(this); //隐藏动画元素
        swiperAnimate(this); //初始化完成开始动画
      },
      slideChangeTransitionEnd: function(){
        swiperAnimate(this); //每个slide切换结束时也运行当前slide动画
      }
    }
})


//横屏与竖屏基本一致,就去掉js中 direction:'vertical',一句就可以。



5.竖屏可以有两次不同动画的


<head>内:

  <link rel="stylesheet" href="css/swiper.min.css">
  <link rel="stylesheet" href="css/animate.min.css">

  <script src="js/jquery-1.8.3.min.js"></script>
   <!-- Swiper JS -->
  <script src="js/swiper.min.js"></script>
 <!-- <script src="js/swiper.animate1.0.2.min.js"></script>-->
  <script src="js/swiper.animate-twice.min.js"></script>


<body>内:


 <div class="swiper-container">
    <div class="swiper-wrapper">
      <div class="swiper-slide " ><span class="ani" data-slide-in="at 500 from bounceInDown use swing during 500" data-slide-out="at 0 to fadeOutRight use swing during 1500 force">Slide 1</span></div>
      <div class="swiper-slide " ><span class="ani" data-slide-in="at 500 from bounceInDown use swing during 500" data-slide-out="at 0 to fadeOutRight use swing during 1500 force">Slide 2</span></div>
      <div class="swiper-slide"  ><span class="ani" data-slide-in="at 500 from bounceInDown use swing during 500" data-slide-out="at 0 to fadeOutRight use swing during 1500 force">Slide 3</span></div>
    </div>
  </div>

<script>内:

var mySwiper1 = new Swiper ('.swiper-container', {
    direction: 'vertical',//竖屏
    on:{
      init: function(){
        swiperAnimateCache(this); //隐藏动画元素
        swiperAnimate(this); //初始化完成开始动画
      },
      slideChangeTransitionEnd: function(){
        swiperAnimate(this); //每个slide切换结束时也运行当前slide动画
      }
    }
})


/*
at        后面跟的是     动画延迟时间
from     后面跟的是    动画样式
use       后面跟的是    动画力度
during   后面跟的是    动画持续时间
force     后面跟的是    是否使用 只有在出场动画的时候使用。进场动画无效。。
*/



*没有解决问题:

animation动画不能与横竖屏都有的轮播一起使用:


相关的css与js 链接: https://pan.baidu.com/s/1geUiuQn 密码: wdx2











animateControl v1.0.3 的功能特点: 1、完全兼容swiper的loop模式,完美支持swiper的嵌套。 2、完美支持animate.css,能够为页面中的任意元素添加动画。 3、完美支持为单个元素同时添加多个animate.css动画效果(无需进行HTML标签的嵌套),并且,可以随意控制这些动画效果的播放方式。 4、能够设置每一个动画效果的播放方式:同步播放、依次播放、循环播放。 5、能够设置每一个动画效果的动画类型:进入动画、表演动画、退出动画(在animate.css的源码中,opacity值从0至100的是进入动画,没有opacity属性的是表演动画。opacity值从100到0的是退出动画)。 6、实了排版效果、动画效果、动画控制的完美分离,极大的提高了开发效率,能够在很短的时间内实复杂的动画效果控制。 7、animateControl 不swiper结合时,可对网页中的其它元素添加动画效果,并进行控制。 8、能够让不懂JS代码的人,经过简单的学习,就能快速的制作HTML5+CSS3动态微网页。 9、相较于上一个版本,在 v1.0.3 中对整个核心代码进行了优化,大大提升了运行速率,使动画播放更流畅。 10、相较于上一个版本,在 v1.0.3 中简化了所有参数的名称,让使用变得更加简单(用更少的代码,就能实更复杂的效果)。 11、本次发布的动画控制器文件为min版,大大减少了文件的体积(下载解压后,文件位置在:js/swiper.animate.min.js)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值