js-用onclick写的手动轮播图

本文详细介绍了如何使用JavaScript的onclick事件来创建一个手动轮播图效果。通过点击按钮,用户可以前后切换图片,实现简单易用的前端轮播展示。文章涵盖了DOM操作、事件处理及动画效果的实现细节。
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body {
            position: relative;
        }

        /* .btn3 {
            background-color: orange;
        } */
        ul {
            position: absolute;
            left: 50%;
            bottom: 20%;
            display: flex;
            justify-content: space-between;
        }

        li {
            list-style: none;
            margin-left: 10px;
            border: 1px solid #333333;
            border-radius: 50%;
            width: 20px;
            height: 20px;

        }

        .sty {
            background-color: orangered;
        }
    </style>
</head>

<body>
    
    <ul>
        <li class="sty" data-dizhi="images/01.jpg"></li>
        <li class="sty" data-dizhi="images/02.jpg"></li>
        <li class="sty" data-dizhi="images/03.jpg"></li>
        <li class="sty" data-dizhi="images/04.jpg"></li>
        <li class="sty" data-dizhi="images/05.jpg"></li>
    </ul>
    <img src="images/01.jpg" alt="" id="img">
    <script>
        //点击不同的按钮 切换对应的图片
        var btns = document.getElementsByTagName("li");
		
        var img = document.getElementById("img");
			//首先获取对象
        for (var i = 0; i < btns.length; i++) {
			//然后遍历 每个对象都有承接
            var everyBtn = btns[i];


            everyBtn.onclick = function () {
			//放置点击事件
                img.src = this.dataset.dizhi;  //“dataset.dizhi”这个是自定义属性承接 每点击一次 换个图片地址的意思

                for (var j = 0; j < btns.length; j++) {

					//在遍历一次,用于改变轮播圆点的背景色
                    var singleBtn = btns[j];
                    singleBtn.classList.remove("sty");
                   //先把背景色去掉 包括自己本身的

                }
                this.classList.add("sty");
               //再把背景样式给添加上
            }

        }

     


    
    </script>
</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值