nGyroParallax是一款可以和鼠标互动的多背景层jQuery视觉差插件。该视觉差插件在页面中设置多个背景图层,然后通过检测鼠标位置来不同图层的位置和移动速度,形成视觉差效果。
使用方法
使用该视觉差特效插件需要在页面中引入jQuery、jquery.nGyroParallax.min.js和jquery.easing.min.js文件。
<script src="js/jquery.min.js"></script> <script src="js/jquery.easing.min.js"></script> <script src="js/jquery.nGyroParallax.min.js"></script>
HTML结构
可以设置多个图层来制作视觉差效果,每一个图层使用一个<div>
元素来包裹一张图片。
<div id="ink1-1" class="nGyroParallax1"> <img src="img/fes_ink1-1.png" alt="" width="445" height="373"> </div> <div id="ink1-2" class="nGyroParallax1"> <img src="img/fes_ink1-2.png" alt="" width="379" height="412"> </div> <div id="chouchin-1-1" class="nGyroParallax1"> <img src="img/fes_chouchin.png" alt="" width="151" height="267"> </div> <div id="chouchin-1-2" class="nGyroParallax1"> <img src="img/fes_chouchin.png" alt="" width="151" height="267"> </div> <div id="aori" class="nGyroParallax1"> <img src="img/sc_aori.png" alt="" width="260" height="482"> </div> <div id="hotaru" class="nGyroParallax1"> <img src="img/sc_hotaru.png" alt="" width="202" height="474"> </div>
CSS样式
所有的图层都设置为居中定位,并设置一个CSS过渡动画效果。
.nGyroParallax1 { position: absolute; top: 50%; left: 50%; transition: .5s ease-out; }
然后通过margin
属性来使各个图层移动到指定的位置。
#chouchin-1-1 { margin: -160px 0 0 -460px; } #chouchin-1-2 { margin: -110px 0 0 280px; } #ink1-1 { margin: -186px 0 0 -400px; } #ink1-2 { margin: -206px 0 0 -40px; } #aori { margin: -241px 0 0 -270px; } #hotaru { margin: -237px 0 0 40px; }
为需要进行鼠标互动的图像使用transform: translate3d(0,0,0);
开启GPU模式,提高性能。并设置过渡动画的时间。
#chouchin-1-1 img, #chouchin-1-2 img { transform: translate3d(0,0,0); transition: .5s; } #aori img, #hotaru img { transform: translate3d(0,0,0); -webkit-filter: drop-shadow(4px 0 3px black); -ms-filter: drop-shadow(4px 0 3px black); filter: drop-shadow(4px 0 3px black); transition: .5s; }
初始化插件
在页面DOM元素加载完毕之后,可以通过nGyroParallax()
方法来分别为各个图层进行初始化。
$(function(){ $(window).load(function(){ $('#chouchin-1-1').nGyroParallax({ magnification: .05 }); $('#chouchin-1-2').nGyroParallax({ magnification: .004 }); $('#aori').nGyroParallax(); $('#hotaru').nGyroParallax(); }); });
配置参数
该视觉差插件可用的配置参数有:
background
:指定某个图层是否是背景层,默认值为false
。magnification
:图像的移动范围,数值越大移动得越远。默认值为0.02。duration
:动画的持续时间,默认为500毫秒。easing
:由jquery.easing.js插件指定的easing效果。默认值为easeOutExpo
。
nGyroParallax视觉差插件的github地址为:https://github.com/Nunifuchisaka/nGyroParallax。