<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. pgm revert转换 成jpg 人脸识别图片

    最近在搞人脸识别,下载数据集走得比较心累.很多数据集太大了.没有啥标签.先搞一个小的玩玩.还找到的是pgm灰度图.索性写了个小脚本,用来转换.同时写脚本打标签. 数据集地址:http://downlo ...

  2. 聊聊python 2中的编码

    为什么需要编码: 计算机可以存储和处理二进制,那么从文字到计算机可以识别的二进制之间需要对应的关系,于是便有了ASCII,ASSCII使用7位字符,由于1byte=8bit,所以最高位补一个0,使用8 ...

  3. python基础知识4——collection类——计数器,有序字典,默认字典,可命名元组,双向队列

    1.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能  Counter 我们从中挑选一些相对常用的方法来举例: 在上面的例子 ...

  4. String Start!

    (1)Ransom Note 解题思路: 题目叫做Ransom Note,勒索信.勒索信,为了不暴露字迹,就从杂志上搜索各个需要的字母,组成单词来表达的意思.这样来说,题目也就清晰了,判断杂志上的字是 ...

  5. cf 731f

    题意:给你一组数,让你先选一个数,然后把其他数缩小成他的倍数,然后求和,求最大值. 思路:很显然,对于数i,在i*j到i*(j+1)-1之间的数都应该缩小成i*j,又由于数均小于等于200000这个通 ...

  6. ubuntu 16 mysql安装包安装 (推荐在线安装)

    /etc/init.d/中的文件命名为mysql cp好各种文件后 ./mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/my ...

  7. 抽象和封装_JAVA_OOP

    很久没做笔记了,没有以前的刚开始学习软件时候的热情了.包括几年前U盘损坏,数据丢失,通过数据恢复,也只是找回一些零星的碎片. 现在就抽时间把以前的技术笔记找回来,这十条记录在电脑上显示的最后修改日期为 ...

  8. PP常用bapi

    PPCO0012 co01/CO02/CO03屏幕bapi  生产订单:显示/更改订单抬头数据 PPCO0001 开发应用程序: PP订单 PPCO0007 保存生产订单时退出 PPCO0001  A ...

  9. vs2010 A selected drive is no longer valid

    visual studio 2010重新安装添加组件,报A selected drive is no longer valid错误. 这个是由于已经安装了sp1,此时需要将sp1卸载掉,然后就可以安装 ...

  10. Asp.Net MVC4入门指南(8):给数据模型添加校验器

    在本节中将会给Movie模型添加验证逻辑.并且确保这些验证规则在用户创建或编辑电影时被执行. 保持事情 DRY ASP.NET MVC 的核心设计信条之一是DRY: "不要重复自己(Don’ ...