• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    html5+css如何实现中间大两头小的轮播效果

    国际惯例,先上效果

    好了,话不多说,上去就是一顿撸。

    css:

    <style>
    
       *{margin: 0;padding: 0}
       .wrap{
           
       }
       .container{
           width: 100%;
           overflow: hidden;
           /* height: 400px; */
           background: red;
           position: relative;
       }
       .box{width: 125%;
           height: auto;
           display: flex;
            align-items: center;
            position: relative;
            left: 0;
           }
        .box li{
            width: 20%;
            float: left;
            list-style: none;
            -webkit-transition: width 0.5s, height 0.5s, margin 0.5s;
            position: relative;
        }
        .box video {
            width: 100%;
            height: 100%;
        }
        .box li div {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
        }
        .box li div img {
            width: 100%;
            height: 100%;
        }
        /* .box li:nth-child(2){
            height: 360px;
            margin: 0 1%;
        } */
        .goLeft, .goRight {
            position: absolute;
            width: 28px;
            height: 52px;
            top: 50%;
            transform: translate(0,-50%);
            cursor: pointer;
            border: none;
            outline: none;
            line-height: 52px;
        }
        .goLeft {
            left: 20%;
        }
        .goRight {
            right: 20%;
        }
        .box li>p {
            margin: 0;
            color: #fff;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
            text-align: center;
        }
        .box li>p>span {
            display: inline-block;
            width: 100px;
            height: 100px;
            background: url(play.png);
        }
        .ddd{
            width: 100%;
            height: 360px;
            display: flex;
    align-items: center;
    position: relative;
        }
        .dd-2{
            width: 20%;
            background: yellow;
        }
        .aa{
            width: 100%;
        }
    </style>
    
    

    html:

    <div class="wrap">
    
        <div class="container">
            <ul class="box">
                <li class="video1">
                    <video></video>
                    <div><img src="3.jpg" alt="">1</div>
                </li>
                <li class="video2">
                    <video></video>
                    <div><img src="3.jpg" alt="">2</div>
                </li>
                <li class="video3">
                    <video></video>
                    <div><img src="3.jpg" alt="">3</div>
                </li>
                <li class="video4">
                    <video></video>
                    <div><img src="3.jpg" alt="">4</div>
                </li>
            </ul>
            <button onclick="moveRight()" class="goLeft btn">左</button> 
            <button onclick="moveLeft()" class="goRight btn">右</button>
        </div>
        <div class="ddd">
            <div class="dd-2"><div class="aa">aaa</div><div class="bb">vvvv</div></div>
        </div>
    </div>

    js:

    $(function(){
        $('.box>li:nth(1)').css({ width: '36%', margin: '0 2%' })
        $('.box>li:nth(1)').append('视频主题')
        
    })
    $(window).resize(function () {          //当浏览器大小变化时
        $('.box').css('height', 'auto')
    })
    function moveLeft(){
            var height = $('.box>li:nth(1)').height()
            $('.box').css('height', height)
            $('.box>li').css({ width: '20%', margin: '0 0%' })
            $('.box>li:nth(2)').css({ width: '36%', margin: '0 2%' })
            $('.box').animate({
                left: '-25%'
            }, 400, function () {
                // 把第一个子元素移到最后,并且设置left=0
                $(".box").append($('.box>li:nth(0)')[0]);
                $(".dd-2").append($('.aa')[0]);
                $(".aa").append('ccc');
                $('.box').css('left', 0);
                $(".btn").attr("disabled", false);
                $('.box>li:nth(1)').append('视频主题')
    
            });
        }
        function moveRight(){
            $('.box>li').css({ width: '20%', margin: '0 0%' })
            $('.box>li:nth(0)').css({ width: '36%', margin: '0 2%' })
            var height = $('.box>li:nth(1)').height()
            $('.box').css('height', height)
            $(".box").prepend($('.box>li:nth(3)')[0]);
            
            $('.box').css('left', '-20%');
            $('.box').animate({
                left: 0
            }, 400, function () {
                $(".btn").attr("disabled", false);
                $('.box>li:nth(1)').append('视频主题')
            });
        }

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:Html5 Canvas动画基础碰撞检测的实现
    下一篇:手对手的教你用canvas画一个简单的海报的方法示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    html5+css如何实现中间大两头小的轮播效果 html5+css,如何,实现,中间,