简单图片的切换+高亮设置

实现效果:

实现代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .small-img{
            height: 100px;
        }

    </style>

</head>

<body>
    <div>
        <img class="big-img" width="300px" height="200px" src="01.jpg" alt="">
    </div>
    <div>
        <img class="samll-img" onclick="clickImg('01.jpg')" width="100px" height="60px" src="01.jpg" alt="">
        <img class="samll-img" onclick="clickImg('02.jpg')" width="100px" height="60px" src="02.jpg" alt="">
        <img class="samll-img" onclick="clickImg('03.jpg')" width="100px" height="60px" src="03.jpg" alt="">
        <img class="samll-img" onclick="clickImg('04.jpg')" width="100px" height="60px" src="04.jpg" alt="">
    </div>
    <script>
        function clickImg(imgsrc){
            let bigImgEle=document.querySelector(".big-img")
            bigImgEle.setAttribute("src",imgsrc)
        }
    </script>

</body>
</html>

追加:对点击图片进行高亮设置

实现效果:

实现代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .small-img{
            height: 100px;
        }
        .active{
            border: 2px solid black;
        }
    </style>

</head>

<body>
    <div>
        <img class="big-img" width="300px" height="200px" src="01.jpg" alt="">
    </div>
    <div>
        <!-- 必须有一个active标签才能把代码运行起来 -->
        <img class="samll-img img1 active" onclick="clickImg('01.jpg','.img1')" width="100px" height="60px" src="01.jpg" alt="">
        <img class="samll-img img2" onclick="clickImg('02.jpg','.img2')" width="100px" height="60px" src="02.jpg" alt="">
        <img class="samll-img img3" onclick="clickImg('03.jpg','.img3')" width="100px" height="60px" src="03.jpg" alt="">
        <img class="samll-img img4" onclick="clickImg('04.jpg','.img4')" width="100px" height="60px" src="04.jpg" alt="">
    </div>
    <script>
        function clickImg(imgsrc,imgclass){
            let bigImgEle=document.querySelector(".big-img");
            bigImgEle.setAttribute("src",imgsrc);

            // 下面是高亮样式代码

            let highLight=document.querySelector(".active");

            // 判断当前标签对象的class属性是否包含指定的class类名
            console.log(highLight.classList.contains("active"));

            // 删除当前标签对象的class属性值中指定的class类名
            highLight.classList.remove("active");


            let currenImg=document.querySelector(imgclass);

            // 在当前标签对象的class属性值后面添加指定的class类名
            currenImg.classList.add("active");
        }
    </script>

</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是一个使用 jQuery 实现的简单轮播图,支持自动播放、手动切换和轮播点导航: ```html <!DOCTYPE html> <html> <head> <title>Slider</title> <style> .slider { position: relative; width: 600px; height: 300px; overflow: hidden; } .slider-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: none; } .slider-img.active { display: block; } .slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; background-color: rgba(0, 0, 0, 0.3); color: white; text-align: center; line-height: 30px; cursor: pointer; } .slider-arrow.left { left: 20px; } .slider-arrow.right { right: 20px; } .slider-dots { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; } .slider-dot { width: 10px; height: 10px; border-radius: 50%; background-color: rgba(0, 0, 0, 0.3); margin-right: 10px; cursor: pointer; } .slider-dot.active { background-color: white; } </style> </head> <body> <div class="slider"> <img class="slider-img active" src="https://picsum.photos/id/237/600/300"> <img class="slider-img" src="https://picsum.photos/id/238/600/300"> <img class="slider-img" src="https://picsum.photos/id/239/600/300"> <img class="slider-img" src="https://picsum.photos/id/240/600/300"> <div class="slider-arrow left">‹</div> <div class="slider-arrow right">›</div> <div class="slider-dots"> <div class="slider-dot active"></div> <div class="slider-dot"></div> <div class="slider-dot"></div> <div class="slider-dot"></div> </div> </div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(function() { var imgs = $(".slider-img"); var dots = $(".slider-dot"); var index = 0; var timer = null; // 初始化轮播图 function initSlider() { imgs.eq(index).addClass("active"); dots.eq(index).addClass("active"); startTimer(); } // 启动定时器 function startTimer() { timer = setInterval(function() { next(); }, 3000); } // 停止定时器 function stopTimer() { clearInterval(timer); } // 显示下一张图片 function next() { imgs.eq(index).removeClass("active"); dots.eq(index).removeClass("active"); index = (index + 1) % imgs.length; imgs.eq(index).addClass("active"); dots.eq(index).addClass("active"); } // 显示上一张图片 function prev() { imgs.eq(index).removeClass("active"); dots.eq(index).removeClass("active"); index = (index - 1 + imgs.length) % imgs.length; imgs.eq(index).addClass("active"); dots.eq(index).addClass("active"); } // 监听箭头点击事件 $(".slider-arrow.left").click(function() { stopTimer(); prev(); startTimer(); }); $(".slider-arrow.right").click(function() { stopTimer(); next(); startTimer(); }); // 监听轮播点点击事件 dots.click(function() { stopTimer(); var dotIndex = dots.index(this); if (dotIndex !== index) { imgs.eq(index).removeClass("active"); dots.eq(index).removeClass("active"); index = dotIndex; imgs.eq(index).addClass("active"); dots.eq(index).addClass("active"); } startTimer(); }); // 初始化轮播图 initSlider(); }); </script> </body> </html> ``` 在这个页面中,我们使用了一个 `<div>` 元素来作为轮播图的容器,其中包含了若干个 `<img>` 元素,每个 `<img>` 元素都代表了一个轮播图中的图片。我们使用 CSS 来定义了轮播图的样式,包括容器的大小、箭头和轮播点的样式等。我们使用 jQuery 来实现了轮播图的自动播放、手动切换和轮播点导航功能,其中包括了定时器、事件监听和样式切换等操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值