Loading

HTML轮播(3)

前言
现在给轮播加上可视化的点,实际这样的轮播已经算完成的了
CSS

    #LB {
        width: 100%;
height: 948px;
overflow: hidden;
position:relative;
    }

    #LB ul {
width: 100%;
height: 100%;
    }

    #LB ul li {
        padding:0;
        margin:0;
        width:100%;
        height:100%;
    }

    #LB ul li img {
        width:100%;
        height:100%;
    }

    input {
        display:block;
        width:40%;
        height:32px;
        background:rgba(52, 162, 255, 0.64);
        border:none;
        color:#fff;
        padding:0px 5px;
        margin:auto;
    }

    #LB .lb_li {
        position: absolute;
        top: 50%;
        right: 0px;
        display: inline-block;
        transform: translateY(-20%);
        z-index: 2;
        width: 3%;
        height: 100%;
    }
        #LB .lb_li li {
            width: 20px;
            height: 20px;
            border-radius: 50px;
            border: 1px solid #fff;
            margin:5px 0px;
        }

        .on {
            background:#fff;
        }

HTML

<div>
    <div style="position:fixed;top:0px;left:0px;width:100%;display:flex;z-index:2;">
        <input type="button" value="上一张" onclick="Back()" />
        <input type="button" value="下一张" onclick="Next()" />
    </div>
    <div id="LB">
        <ul class="lb_li">
            <li class="on"></li>
            <li></li>
            <li></li>
        </ul>
        <ul class="lb_ul">
            <li><img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1554702318984&di=b4256edfa635b6e87ea43d336c6a1e39&imgtype=0&src=http%3A%2F%2Fpic.58pic.com%2F58pic%2F15%2F68%2F59%2F71X58PICNjx_1024.jpg" /></li>
            <li><img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1554702318984&di=b75fa0cf7e6c7ec2b84d6caa3c79bd54&imgtype=0&src=http%3A%2F%2Fpic24.nipic.com%2F20120906%2F2786001_082828452000_2.jpg" /></li>
            <li><img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1554702318984&di=7be7885e9826ed5397017dbc980cb108&imgtype=0&src=http%3A%2F%2Fpic75.nipic.com%2Ffile%2F20150821%2F9448607_145742365000_2.jpg" /></li>
            <li><img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1554702318984&di=b4256edfa635b6e87ea43d336c6a1e39&imgtype=0&src=http%3A%2F%2Fpic.58pic.com%2F58pic%2F15%2F68%2F59%2F71X58PICNjx_1024.jpg" /></li>
        </ul>
    </div>
</div>

JS
引用jq文件

<script src="~/Plugins/jquery-3.2.1.min.js"></script>

代码

    var Speed = 3000;//时隔几秒切换一次
    var AnimaSpeed = 1000;//动画速度
    var index = 0;//索引
    var LBI = setInterval(Carousel, Speed);//设置定时器


    //下一张图片
    function Back() {
        if (index > 0) {
            index -= 1;
            SetAnimate();
        } else {
            index = $("#LB .lb_ul li").length - 1;
            SetAnimate();
        }
        Ul_list(index);
        clearInterval(LBI);//清除定时器
        LBI = setInterval(Carousel, Speed);//启动定时器
    }
    //上一张图片
    function Next() {
        if (index < $("#LB .lb_ul li").length - 1) {
            index += 1;
            SetAnimate();
        } else {
            index = 0;
            SetAnimate();
        }
        Ul_list(index);
        clearInterval(LBI);//清除定时器
        LBI = setInterval(Carousel, Speed);//启动定时器
    }




    //鼠标移入暂停
    $("#LB").mouseenter(function () {
        clearInterval(LBI);//清除定时器
    })
    //鼠标移出继续
    $("#LB").mouseleave(function () {
        LBI = setInterval(Carousel, Speed);//启动定时器
    })

    function Carousel() {
        //最基础的轮播
        if (index + 1 == $("#LB .lb_ul li").length) {
            $("#LB .lb_ul").css("margin-top", "0px")
            index = 0;
        }
        if (index < $("#LB .lb_ul li").length) {
            index++;
            Ul_list(index);
        }
        SetAnimate();
    }
    function SetAnimate() {
        $("#LB .lb_ul").animate({
            "margin-top": "" + (-$("#LB .lb_ul li").height() * index) + "px"
        }, AnimaSpeed)
    }

    function Ul_list() {
        $.each($(".lb_li").children(), function (i) {
            $(".lb_li").children()[i].classList.remove("on");
        })
        if ($(".lb_li").children()[index] != undefined) {
            $(".lb_li").children()[index].classList.add("on");
        } else {
            $(".lb_li").children()[0].classList.add("on");
        }
    }

效果
在这里插入图片描述
这样就完成了轮播
END

posted @ 2019-04-28 09:41  LRolinx  阅读(127)  评论(0编辑  收藏  举报