Animsition是一款使用jQuery来实现CSS3动画的页面切换动画特效插件。该页面切换动画特效插件共有58种效果,按大类别来分可以分为:淡入淡出效果、旋转、翻转和放大缩小效果。另外每种效果都对应一种遮罩模式。通过Animsition你可以制作出各种炫酷的页面切换效果。

浏览器兼容

Animsition需要支持CSS3的浏览器才能正常工作。

  • IE10+
  • Chrome
  • Safari
  • Firefox

使用方法

要使用该页面切换动画特效插件首先要引入相关的依赖文件。

<!-- animsition CSS -->
<link rel="stylesheet" href="./dist/css/animsition.min.css">

<!-- vendor js -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<!-- animsition js -->
<script src="./dist/js/jquery.animsition.min.js"></script>                
              
HTML结构

如果所有页面都使用相同的切换过渡效果,当前页面用于显示切换效果的内容使用一个class为animsition<div>进行包裹,使用带class为animsition-link的超链接或按钮来跳转页面。class名称可以修改,修改后后面的js代码也要做相应的修改。

<body>

  <div class="animsition">

    <a href="./page1" class="animsition-link">animsition link 1</a>

    <a href="./page2" class="animsition-link">animsition link 2</a>

  </div>

</body>        
              

如果你希望每一个跳转页面的切换效果都不相同,可以使用下面的方法:

<a
    href="./page1"
    class="animsition-link"
    data-animsition-out="fade-out-right"
    data-animsition-out-duration="2000"
  >
    animsition link 1
  </a>

  <a
    href="./page2"
    class="animsition-link"
    data-animsition-out="rotate-out"
    data-animsition-out-duration="500"
  >
    animsition link 2
  </a>                
              

如果你希望每一个页面都使用不同的动画效果,可以使用下面的方法:

<div
  class="animsition"
  data-animsition-in="fade-in"
  data-animsition-in-duration="1000"
  data-animsition-out="fade-out"
  data-animsition-out-duration="800"
>
  ...
</div>                
              
JAVASCRIPT

在页面加载之后,可以使用下面的方法来调用该插件:

$(document).ready(function() {
  
  $(".animsition").animsition({
  
    inClass               :   'fade-in',
    outClass              :   'fade-out',
    inDuration            :    1500,
    outDuration           :    800,
    linkElement           :   '.animsition-link',
    // e.g. linkElement   :   'a:not([target="_blank"]):not([href^=#])'
    loading               :    true,
    loadingParentElement  :   'body', //animsition wrapper element
    loadingClass          :   'animsition-loading',
    unSupportCss          : [ 'animation-duration',
                              '-webkit-animation-duration',
                              '-o-animation-duration'
                            ],
    //"unSupportCss" option allows you to disable the "animsition" in case the css property in the array is not supported by your browser.
    //The default setting is to disable the "animsition" in a browser that does not support "animation-duration".
    
    overlay               :   false,
    
    overlayClass          :   'animsition-overlay-slide',
    overlayParentElement  :   'body'
  });
});            
              

上面的参数十分简单,看名称就可以知道它的意思。其中,inClass是进入时的页面动画方式,outClass是切换到其它页面时的动画方式。上面的代码是淡入淡出的进入和淡入淡出的切换到其它页面。要使用不同的效果,就更换这两个class。关于这些class共有58个,后面会一一列出。overlay是是否打开遮罩模式,如果设置为true,将会以遮罩的方式完成页面切换过渡。

58种效果对应的class

Fade
fade-in fade-out
Fade up
fade-in-up-sm fade-in-up fade-in-up-lg fade-out-up-sm fade-out-up fade-out-up-lg
Fade down
fade-in-down-sm fade-in-down fade-in-down-lg fade-out-down-sm fade-out-down fade-out-down-lg
Fade left
fade-in-left-sm fade-in-left fade-in-left-lg fade-out-left-sm fade-out-left fade-out-left-lg
Fade right
fade-in-right-sm fade-in-right fade-in-right-lg fade-out-right-sm fade-out-right fade-out-right-lg
Rotate
rotate-in-sm rotate-in rotate-in-lg rotate-out-sm rotate-out rotate-out-lg
Flip X
flip-in-x-fr flip-in-x flip-in-x-nr flip-out-x-fr flip-out-x flip-out-x-nr
Flip Y
flip-in-y-fr flip-in-y flip-in-y-nr flip-out-fr flip-out-y flip-out-y-nr
Zoom
zoom-in-sm zoom-in zoom-in-lg zoom-out-sm zoom-out zoom-out-lg

另外,该页面切换过渡效果还有一组遮罩(Overlay)模式的class:

  • overlay-slide-in-top
  • overlay-slide-out-top
  • overlay-slide-in-bottom
  • overlay-slide-out-bottom
  • overlay-slide-in-left
  • overlay-slide-out-left
  • overlay-slide-in-right
  • overlay-slide-out-right