<style>
        *{;}
        #big{
            width: 100%;
            height: 280px;
        }
        .carousel-wrapper{
            width: 500px;
            height: 280px;
            margin:100px auto;
            perspective:600px;
        }
        #carousel{
            width: 500px;
            height: 280px;
            list-style-type:none;
            position:relative;
        }
        #carousel li{
            position:absolute;
            left:;
            top:;
            transition: all 1s ease 0s;
            cursor: pointer;
        }

        .king{
            z-index:;
        }
        .left1{
            transform:rotateY(30deg) translateZ(-150px) translateX(-100px);
            z-index:;
        }
        .left2{
            transform:rotateY(40deg) translateZ(-300px) translateX(-200px);
            z-index:;
        }
        .right1{
            transform:rotateY(-30deg) translateZ(-150px) translateX(100px);
            z-index:;
        }
        .right2{
            transform:rotateY(-40deg) translateZ(-300px) translateX(200px);
            z-index:;
        }
        .bench-warmer{
            transform:translateZ(-200px);
            opacity:;
        }
        .carousel-wrapper span{
            width:60px;
            height: 60px;
            line-height: 60px;
            text-align: center;
            font-size: 50px;
            color:white;
            position:absolute;
            left:-320px;
            top:50%;
            /*margin-top:-30px;*/
            transform:translateY(-50%);
            background-color: rgba(0, 0, 255, .5);
            z-index:;
            cursor:pointer;
        }
        .carousel-wrapper #right-btn{
            right:-320px;
            left:auto;
        }
    </style>
<script>
        window.onload=function(){
            var left_btn =document.getElementById("left-btn");
            var right_btn=document.getElementById("right-btn");
            var carousel =document.getElementById("carousel");
            var lis      =carousel.getElementsByTagName("li");
            var lock     =false;

            //将类名保存在数组内
            var classes=["left2","left1","king","right1","right2","bench-warmer","bench-warmer","bench-warmer","bench-warmer"];

            right_btn.onclick=function(){
                if(lock==false){
                    //设置定时器
                    lock=true;
                    setTimeout(function(){
                        lock=false;
                    },1000 )
                    classes.unshift(classes.pop());
                //得到所有的类名
                    for(var i=0;i<classes.length;i++){
                    lis[i].className=classes[i];
                    }
                }

            }
            left_btn.onclick=function(){
                if(lock==false){
                    lock=true;
                    setTimeout(function(){
                        lock=false;
                    },1000)
                    //增删数组
                    classes.push(classes.shift());
                    // 遍历修改完的数组
                    for(var i=0;i<classes.length;i++){
                    lis[i].className=classes[i];
                }
                }

            }

            //设置一个定时器自动增删数组
            var time=null;
            //获取到最大的Div作为事件源
            var big=document.getElementById("big")
            function start(){
                time=setInterval(function(){
                    classes.unshift(classes.pop());
                //得到所有的类名
                    for(var i=0;i<classes.length;i++){
                    lis[i].className=classes[i];
                    }
                },2000);
            }
            start()
                    big.onmouseover=function(){
                        clearInterval(time);
                }
                    big.onmouseout=function(){
                        //当鼠标移除后再启动定时器
                        start()
                    }

        }
    </script>
<div id="big">
        <div class="carousel-wrapper">
            <ul id="carousel">
                <li class="left2"><img src="data:images/50/1.jpg" alt=""></li>
                <li class="left1"><img src="data:images/50/2.jpg" alt=""></li>
                <li class="king"><img src="data:images/50/3.jpg" alt=""></li>
                <li class="right1"><img src="data:images/50/4.jpg" alt=""></li>
                <li class="right2"><img src="data:images/50/5.jpg" alt=""></li>
                <li class="bench-warmer"><img src="data:images/50/6.jpg" alt=""></li>
                <li class="bench-warmer"><img src="data:images/50/7.jpg" alt=""></li>
                <li class="bench-warmer"><img src="data:images/50/8.jpg" alt=""></li>
                <li class="bench-warmer"><img src="data:images/50/9.jpg" alt=""></li>
            </ul>
            <span id="left-btn">&lt;</span>
            <span id="right-btn">&gt;</span>
        </div>
    </div>

CSS3动画效果结合JS的轮播的更多相关文章

  1. js实现轮播图效果(附源码)--原生js的应用

    1.js实现轮播图效果 <!DOCTYPE html><html lang="en"><head> <meta charset=" ...

  2. 使用 jQuery 中的淡入淡出动画,实现图片的轮播效果,每隔 2 秒钟切换一张图片,共 6 张图片

    查看本章节 查看作业目录 需求说明: 使用 jQuery 中的淡入淡出动画,实现图片的轮播效果,每隔 2 秒钟切换一张图片,共 6 张图片,切换到第 6 张后从头开始切换,在图片的下方显示 6 个小圆 ...

  3. Bounce.js – 快速创建漂亮的 CSS3 动画效果

    Bounce.js 是一个用于制作漂亮的 CSS3 关键帧动画的 JavaScript 库,使用其特有的方式生成的动画效果.只需添加一个组件,选择预设,然后你就可以得到一个短网址或者导出为 CSS 代 ...

  4. CSS3动画效果——js调用css动画属性并回调处理详解

    http://www.jb51.net/css/258407.html 这篇文章主要详细介绍了CSS3动画效果回调处理,需要的朋友可以参考下 我们在做js动画的时候,很多时候都需要做回调处理,如在一个 ...

  5. 原生JS实现轮播图的效果

    原生JS实现轮播图的效果: 只要缕清了全局变量index的作用,这个轮播图也就比较容易实现了:另外,为了实现轮这个效果,有几处clearInterval()必须写上.废话不多说,直接上代码,修复了几个 ...

  6. js图片轮播效果实现代码

    首先给大家看一看js图片轮播效果,如下图 具体思路: 一.页面加载.获取整个容器.所有放数字索引的li及放图片列表的ul.定义放定时器的变量.存放当前索引的变量index 二.添加定时器,每隔2秒钟i ...

  7. tween.js是一款可生成平滑动画效果的js动画库。tween.js允许你以平滑的方式修改元素的属性值。它可以通过设置生成各种类似CSS3的动画效果。

    简要教程 tween.js是一款可生成平滑动画效果的js动画库.相关的动画库插件还有:snabbt.js 强大的jQuery动画库插件和Tweene-超级强大的jQuery动画代理插件. tween. ...

  8. javascript效果:手风琴、轮播图、图片滑动

    最近都没有更,就来几个效果充实一下. 都没有进行美化这步. 手风琴: 纯css: <!DOCTYPE html> <html lang="en"> < ...

  9. 原生js焦点轮播图

    原生js焦点轮播图主要注意这几点: 1.前后按钮实现切换,同时注意辅助图2.中间的button随着前后按钮对应切换,同时按button也能跳转到相应的index3.间隔调用与无限轮播.4.注意在动画时 ...

随机推荐

  1. js中各种事件的兼容性

    1给元素绑定一个事件 ie8attachEvent(on+"事件",event); 高级浏览器 addEventListener("事件",event,fals ...

  2. 多媒体(2):WAVE文件格式分析

    目录 多媒体(1):MCI接口编程 多媒体(2):WAVE文件格式分析 多媒体(3):基于WindowsAPI的视频捕捉卡操作 多媒体(4):JPEG图像压缩编码 多媒体(2):WAVE文件格式分析

  3. UNDO内存结构剖析

    UNDO内存结构剖析 一.场景 Oracle的 C事物从早上9:00开始读取A表全部10w行数据,这个而读取需要经历5分钟.在9:01的时候,B事物将A表删除100条记录,那么,当9:05的时候,事物 ...

  4. Python: 列表的基本用法

    列表是可变的,可以改变的序列,它能够保存任何数据类型. >>> list = []        #定义一个空列表>>> list.append(1)        ...

  5. Android代码故事第一回,平均间隔的按钮

    我们的APP新做了一个放操作按钮的界面,老板要求简洁美观有内涵,按钮要均匀分布,于是参考之前的实现,设计MM给了一张图,像这样: |================================== ...

  6. [delphi]SetWindowsHookExA函数入口处修改

    library Project2; uses SysUtils, Classes, windows, Dialogs; {$R *.res} function GetModuleHandleA(a: ...

  7. 数据库热备份工具innobackupex的安装

    Xtrabackup是由percona开发的一个开源软件,此软件可以说是innodb热备工具ibbackup的一个开源替代品. 这个软件是由2个部分组成的:xtrabackup和innobackupe ...

  8. .net Session 超时控制

    webconfig里明明设置了timeout是很大的数值了,可是session的有效性仍然无法维持一小时. 查了一下,主要是说 mode="InProc" 的话,session是放 ...

  9. 关于Onvif的event

    昨天又仔细研究了一下camera的alarm功能,发现原来很简单,首先订阅一下,即create,拿到订阅号后直接pull,一旦收到信息就再次用订阅号pull.参考http://www.doc88.co ...

  10. 实现浏览器打开图片的url默认是下载

    在返回的response里面设置HTTP头的Content-Disposition=attachement;filename=xxxx,即可实现文件另存为"xxxx":Conten ...