jQuery轮播图

运行效果如下图:
在这里插入图片描述
CSS部分:

<style>
        * {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .container {
            width: 1100px;
            margin: 20px auto;
        }

        .container li {
            display: none;
        }

        .container li:first-of-type {
            display: block;
        }

        .main {
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .nav {
            display: flex;
            position: absolute;
            bottom: 30px;
            width: 200px;
            height: 20px;
        }

        .nav li {
            width: 15px;
            height: 15px;
            border-radius: 50%;
            background: #fff;
            margin: 0 10px;
        }

        .nav li.active {
            background: rgba(102, 102, 102, 0.5);
        }

        .arrow {
            width: 40px;
            height: 80px;
            position: absolute;
            background: rgba(48, 41, 41, 0.3);
            line-height: 80px;
            text-align: center;
            font-size: 30px;
            color: rgba(252, 252, 252, 0.8);
            cursor: pointer;
            user-select: none;
        }

        .arrow.arrowleft {
            left: 150px;
        }

        .arrow.arrowright {
            right: 170px;
        }
    </style>

html部分:

 <div class="main">

        <div class="arrow arrowleft">&lt;</div>
        <div class="arrow arrowright">&gt;</div>
        <ul class="container">
            <li>
                <img src="http://p1.music.126.net/uYEZk0fBieAsIU2jV7z_Tg==/109951165097321887.jpg?imageView&quality=89"
                    alt="">
            </li>
            <li>
                <img src="http://p1.music.126.net/w9_4EDtBaLAsg8E3k11Rkw==/109951165097376119.jpg?imageView&quality=89"
                    alt="">
            </li>
            <li>
                <img src="http://p1.music.126.net/2rqzxg-DP-7Rt3Ak_l7Uog==/109951165097437479.jpg?imageView&quality=89"
                    alt="">
            </li>
            <li>
                <img src="http://p1.music.126.net/f40GhB5MtgDaw9Qqq8ZY1A==/109951165097466001.jpg?imageView&quality=89"
                    alt="">
            </li>
        </ul>
        <ul class="nav">
            <li class="active"></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>

js部分:


        <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

        <script>
            $(function () {
                let i = 0;
                let timer = null

                function run() {
                    timer = setInterval(() => {
                        if (++i === 4) i = 0
                        $(".container li").eq(i).show().siblings().hide()
                        $(".nav li").eq(i).addClass("active").siblings(".active").removeClass("active")
                    }, 1000)
                }
                run()

                $(".arrowleft").click(function () {
                    clearInterval(timer)
                    i--
                    if (i < 0) i = 3
                    $(".container li").eq(i).show().siblings().hide()
                    $(".nav li").eq(i).addClass("active").siblings(".active").removeClass("active")
                    run()
                })

                $(".arrowright").click(function () {
                    clearInterval(timer)
                    i++
                    if (i > 3) i = 0
                    $(".container li").eq(i).show().siblings().hide()
                    $(".nav li").eq(i).addClass("active").siblings(".active").removeClass("active")
                    run()
                })
                $(".nav li").click(function () {
                    clearInterval(timer)
                    i = $(this).index()
                    $(".container li").eq(i).show().siblings().hide()
                    $(".nav li").eq(i).addClass("active").siblings(".active").removeClass("active")
                    run()
                })
            })
        </script>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值