zoukankan      html  css  js  c++  java
  • SliceBox

    SliceBox相当于一个轮播图插件,只不过是3D的。 先来查看它能实现的效果:

    官网:http://tympanus.net/codrops/2011/09/05/slicebox-3d-image-slider/

    兼容性:由于该插件使用到了CSS3中的变换变形等属性,所以在不支持CSS3的浏览器中看不到3D效果,

        但是图片切换的时候会是前一张图片淡入后一张图片淡出的效果,不支持ie6,在ie6+的版本中基本上

        看不到3D效果,ie7 8 9 都是淡入淡出效果,在ie10中效果更糟,虽然有3D效果,但是效果非常蛋疼,

        出现3D效果的时候看不到图片了。

    Demo

    需要的js和css文件

            <link type="text/css" rel="stylesheet" href="css/slicebox.css" />
            <script type="text/javascript" src="js/modernizr.js"></script>
            <script type="text/javascript" src="js/jquery8.js"></script>
            <script type="text/javascript" src="js/jquery.slicebox.js"></script>
    modernizr.js是用以探测浏览器对HTML5和CSS3新特性功能的支持。
    参考:http://huangyang.me/modernizr.html
    SliceBox用到了它进行浏览器兼容性的检查。


    全部示例代码

    <!DOCTYPE html>
    <html  class="no-js" lang="zh">
        <head>
            <meta charset="utf-8" />
            <title> </title>
            <link type="text/css" rel="stylesheet" href="css/slicebox.css" />
            <script type="text/javascript" src="js/modernizr.js"></script>
            <script type="text/javascript" src="js/jquery8.js"></script>
            <script type="text/javascript" src="js/jquery.slicebox.js"></script>
            <script type="text/javascript">
                var $slicebox;
                $(function() {
                    $slicebox = $('#sb-slider').slicebox({
                        interval:6000,
                        orientation : "r", //表示幻灯片的切换方向,可取 (v)垂直方向, (h)水平方向 or (r)随机方向
                        perspective : 800, //透视点距离,可以通过改变其值查看效果
                        cuboidsCount : 5, //幻灯片横向或纵向被切割的块数,切割的每一块将会以3D的形式切换
                        cuboidsRandom : true, //是否随机 cuboidsCount 参数的值
                        maxCuboidsCount : 5, //设置一个值用来规定最大的 cuboidsCount 值
                        colorHiddenSides : "#333", //隐藏的幻灯片的颜色
                        sequentialFactor : 150, //幻灯片切换时间(毫秒数)
                        speed : 600, //每一块3D立方体的速度
                        autoplay : true, //是否自动开始切换
                        onBeforeChange : function(position) {
                            return false;
                        },
                        onAfterChange : function(position) {
                            return false;
                        }
                    });
                });
            </script>
            <style type="text/css">
            </style>
        </head>
        <body>
            <ul id="sb-slider" class="sb-slider">
                <li>
                    <img src="images/1.jpg" alt="image1"/>
                </li>
                <li>
                    <img src="images/2.jpg" alt="image2"/>
                </li>
                <li>
                    <img src="images/3.jpg" alt="image2"/>
                </li>
                <li>
                    <img src="images/4.jpg" alt="image2"/>
                </li>
                <li>
                    <img src="images/5.jpg" alt="image2"/>
                </li>
            </ul>
            <div>
                <span onclick="$slicebox.previous();">上一页</span>
                <span onclick="$slicebox.next();">下一页</span>
                <span onclick="$slicebox.jump(4);">跳页</span>
            </div>
        </body>
    </html>

    属性介绍:

     interval:6000,//自动播放的时候每个多少毫秒播放下一个图片
     orientation : "r", //表示幻灯片的切换方向,可取 (v)垂直方向, (h)水平方向 or (r)随机方向
     perspective : 800, //透视点距离,可以通过改变其值查看效果(相当一你的眼睛离图片的距离)
     cuboidsCount : 5, //幻灯片横向或纵向被切割的块数,切割的每一块将会以3D的形式切换
     cuboidsRandom : true, //是否随机 cuboidsCount 参数的值(切换图片的时候图片被切割的个数是随机的)
     maxCuboidsCount : 5, //设置一个值用来规定最大的 cuboidsCount 值
     disperseFactor : 50,//被切割的时候每个块分开的像素距离,默认是0
    colorHiddenSides :
    "#333", //隐藏的幻灯片的颜色(被切割块侧面的颜色) sequentialFactor : 150, //幻灯片切换时间(毫秒数) speed : 600, //每一块3D立方体的速度 easing : 'ease', //切换效果
    autoplay :
    true, //是否自动开始切换(如果设置为false,特通过play方法开始播放图片) onBeforeChange : function(position) {},//改变前 onAfterChange : function(position) {}//改变后 //通过改变前改变后可以修改上面的文字说明
     

    方法介绍:

    我没从官网上找到SliceBox可调用的方法,不过我从firebug和官网demo中找到了点。下面是firebug中查看到的效果:

    以下划线 '_' 开头应该是私有方法(其实我也不确定,貌似在javascript设计模式上看过这样的设计),私有方法不建议调用,但是既然设计者

    故意暴露出来了,没有故意隐藏,说明还是可以调用的,这里不讨论这些私有方法作用(因为我没有实验)。

    next();  //播放下一章张图片

    previous(); //播放上一章张图片

    play(); // 开始播放(当属性设置为不自动播放的时候,可以通过该方法开始播放)

    pause(); // 暂停播放

    jump(index); // 跳到哪一张图片

    上面的方法我测试过,用法上应该没问题。

    下面的方法我没用过,不过我猜测了一下,等到镇长用上了再测试一下吧。

    add();  应该是增加一张图片到当前播放的队列中

    destory(); 应该是销毁slicebox对象

    isActive(); 应该是判断当前图片是否正在切换

    本文示例链接:http://url.cn/VZ9hAN或http://share.weiyun.com/bf8327c876bedb4ba84eb97cffdff8f4

            

  • 相关阅读:
    常用安卓开发技巧汇总
    安卓开发30:AsyncTask的用法
    JBoss AS7 快速配置
    抓包 把笔记本改造成无线路由器 —— 手机抓包牛刀小试
    Android系统手机端抓包方法
    ApkTool反编译apk,去除广告或者汉化后重新打包apk,并签名
    Android中如何像 360 一样优雅的杀死后台Service而不启动
    android service 的各种用法(IPC、AIDL)
    Android shell 下 busybox,clear,tcpdump、、众多命令的移植
    Servlet3.0中Servlet的使用
  • 原文地址:https://www.cnblogs.com/yokoboy/p/3343609.html
Copyright © 2011-2022 走看看