PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > Jquery教程 > 正文

    高性能的jQuery/Zepto 3D旋转木马插件

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:简要教程cloud9carousel是一款高性能的基于jQuery或Zepto的3D旋转木马插件。它可以制作出类似专辑封面的效果。它还可以结合jquery.reflecti...
    简要教程

    cloud9carousel是一款高性能的基于jQuery或Zepto的3D旋转木马插件。它可以制作出类似专辑封面的效果。它还可以结合jquery.reflection.js来制作炫酷的图片倒影特效。它的特点有:
    只有一个js文件,可以和jQuery或Zepto结合使用。
    高性能,运行速度快。

    简单易用。
    通过reflection.js可以制作图片倒影效果。
    支持鼠标滚轮操作(需要引入mousewheel plugin)。
    支持自动播放。
    通过requestAnimationFrame以固定的FPS来支持平滑的动画效果。
    自动开启GPU来支持CSS3转换动画。
    可以创建多个实例。
    可以和任何HTML元素结合使用。

    插件依赖

    需要jQuery1.3+或Zepto 1.1.1+
    倒影效果需要reflection.js(可选)
    鼠标滚轮操作需要mousewheel plugin(可选)

    使用方法

    HTML结构

    该旋转木马的基本HTML结构是使用一个<div>来包裹一组用于旋转的元素,如图片:
    <div id="carousel">
      <img class="cloud9-item" src="images/1.png" alt="Item #1">
      <img class="cloud9-item" src="images/2.png" alt="Item #2">
      <img class="cloud9-item" src="images/3.png" alt="Item #3">
      <img class="cloud9-item" src="images/4.png" alt="Item #4">
      <img class="cloud9-item" src="images/5.png" alt="Item #5">
      <img class="cloud9-item" src="images/6.png" alt="Item #6">
    </div>

    <div id="buttons">
      <button class="left">
        ←
      </button>
      <button class="right">
        →
      </button>
    </div>
    JAVASCRIPT

    在页面DOM元素加载完毕之后可以通过下面的方法来初始化该旋转木马插件。
    $("#carousel").Cloud9Carousel( {
      buttonLeft: $("#buttons > .left"),
      buttonRight: $("#buttons > .right"),
      autoPlay: 1,
      bringToFront: true
    } );

    配置参数

    旋转木马参数

    参数 描述 默认值
    xOrigin 旋转木马X方向的中心 (容器宽度 / 2)
    yOrigin 旋转木马Y方向的中心 (容器高度 / 2)
    xRadius 旋转木马宽度的一半 (容器宽度 / 2.3)
    yRadius 旋转木马高度的一半 (容器高度 / 2.3)
    farScale 一个旋转木马项在最远点的缩放,取值0-1 0.5
    mirror 参考下面的倒影选项 none
    transforms 如果浏览器支持CSS3 transforms则使用它 true
    smooth 如果浏览器支持requestAnimationFrame API则用它来制作平滑过渡效果 true
    fps 每一秒的动画帧(如果关闭平滑动画) 30
    speed 旋转木马相对速度的因子。1表示慢速,4表示中等速度,10表示快速 4
    autoPlay 自动播放旋转木马。0表示不自动播放 0
    autoPlayDelay 自动播放状态下的延迟时间,单位毫秒 4000
    mouseWheel 使用鼠标滚轮来旋转。需要一个mousewheel事件,可以通过mousewheel plugin来提供 false
    bringToFront 点击项将会旋转到最前面 false
    buttonLeft 元素的jQuery选择器,使旋转木马左边的元素旋转到最前面(逆时针旋转) none
    buttonRight 元素的jQuery选择器,使旋转木马右边的元素旋转到最前面(顺时针旋转) none
    itemClass 旋转木马项的class "cloud9-item"
    handle 可以和旋转木马互动的字符串命令,如:$("#carousel").data("carousel").go(1)

    倒影选项

    在你将reflection.js引入页面之后,可以配置它的一些参数:
    mirror: {
      gap: 12,     /* 12 pixel gap between item and reflection */
      height: 0.2, /* 20% of item height */
      opacity: 0.4 /* 40% opacity at the top */
    }               
    注意,Zepto和reflection.js不能一起工作。
    参数 描述 默认值
    gap 倒影和项目之间的垂直间隙,单位像素 2
    height 倒影是项目高度的几分之几,范围0-1 1/3
    opacity 倒影的透明度,范围0-1 0.5

    方法

    下面的方法可以在旋转木马初始化时候在carousel对象上调用。
    // Spin by three items clockwise
    $("#carousel").data("carousel").go( 3 );               
    方法 描述 参数
    go( count ) 旋转指定数量的项 count:项目数。+表示顺时针,-表示逆时针
    nearestIndex() 返回最接近前端基于0的索引 none
    nearestItem() 返回最接近前端的项的倒影对象 none
    deactivate() 禁用旋转木马 none
    itemsRotated( 返回从初始零位置旋转的项目的内插数。 none
    floatIndex() Returns an interpolated value of the item "index" at the front of the carousel. none

    回调函数

    回调函数可以传入旋转木马的构造函数作为参数:
    // Hide carousel while items are loading
    $("#carousel").css( 'visibility', 'hidden' ).Cloud9Carousel( {
      bringToFront: true,
      onLoaded: function( carousel ) {
        // Show carousel
        $(carousel).css( 'visibility', 'visible' );
        alert( 'Carousel is ready!' );
      },
      onRendered: function( carousel ) {
        var item = $(carousel).data("carousel").nearestItem();
        console.log( "Item closest to the front: " + $(item).attr("alt") );
      }
    } ); 
    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-47-2632-1.html
    相关热词搜索: