通过CSS3的3D变换和jQuery Transit插件实现一个3D旋转的图片轮播效果

HTML部分

CSS部分

JavaScript部分

<!DOCTYPE html&gt;
<html lang="en"&gt;
<head&gt;
    <meta charset="UTF-8"&gt;
    <title&gt;Title</title&gt;
    <style&gt;
        *{
            margin: 0;
            padding:0;
            list-style: none;
        }
        #banner{
            width:1000px;
            height: 500px;
            border: 1px solid red;
            margin: 0 auto;
            background:#000;
            perspective: 1000px;   /*景深属性*/
            perspective-origin: top;   /*观察着观看的位置*/
        }
        ul{
            width:600px;
            height:300px;
            margin: 100px 200px;
            position: relative;
            transform-style: preserve-3d;
            transform-origin: center center -520px;
        }
        ul&gt;li{
            width:600px;
            height:300px;
            position: absolute;
            left:0;
            top:0;
            background: #ccc;
            overflow: hidden;
            transform-origin: center center -520px;
            opacity: 0.8;
        }
        ul>li:first-child{
            transform: rotateY(60deg);
        }
        ul>li:nth-child(2){
            transform: rotateY(120deg);
        }
        ul>li:nth-child(3){
            transform: rotateY(180deg);
        }
        ul>li:nth-child(4){
            transform: rotateY(240deg);
        }
        ul>li:nth-child(5){
            transform: rotateY(300deg);
        }
        ul>li:nth-child(6){
            transform: rotateY(360deg);
        }
        ul>li>img{
            width:600px;
            height:auto;
        }
    </style>
</head>
<body>
<div id="banner">
    <ul>
        <li><img src="img/banner1.jpg" alt=""></li>
        <li><img src="img/banner2.jpg" alt=""></li>
        <li><img src="img/banner3.jpg" alt=""></li>
        <li><img src="img/banner4.jpg" alt=""></li>
        <li><img src="img/banner5.jpg" alt=""></li>
        <li><img src="img/banner6.jpg" alt=""></li>
    </ul>
</div>
<script src="js/jQuery.js"></script>
<script src="js/jquery.transit.js"></script>
<script>
    setInterval(function(){
        $("ul").transition({rotateY:"-=60deg"},"linear");
    },2000);
</script>
</body>
</html>


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注