JavaScript实现淘宝风格商品图片切换功能

作者:像素猫时间:2026-10-24 10:07:15浏览:576

本文介绍如何使用JavaScript实现类似淘宝的商品图片切换效果。通过监听缩略图的鼠标悬浮事件,动态更新大图显示,并高亮当前选中的缩略图。代码包含HTML结构、CSS样式及核心JS逻辑,适合前端初学者参考学习。

JavaScript实现淘宝风格商品图片切换功能

本文将展示一段JavaScript代码,用于实现类似淘宝商品详情页的图片切换功能,供读者参考。

以下是具体的实现代码:

完整代码实现


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        #bigImg{
            width: 200px;
        }
        *{
            padding: 0;
            margin: 0;
        }
        ul{
            list-style: none;
            /*overflow: hidden;*/
        }
        ul li{
            float: left;
            width: 46px;
            height: 46px;
            margin-left: 10px;
            margin-top: 20px;
            border: 2px solid #ffffff;
        }
        ul .active{
            border-color: red;
        }
    </style>
</head>
<body>
    <img src="img/cloth_01.jpg" id="bigImg">
    <ul>
        <li class="active">
            <a href="">
                <img src="img/cloth_01.jpg" width=46 class="smallImg">
            </a>
        </li>
        <li>
            <a href="">
                <img src="img/cloth_02.jpg" width=46 class="smallImg">
            </a>
        </li>
        <li>
            <a href="">
                <img src="img/cloth_03.jpg" width=46 class="smallImg">
            </a>
        </li>
        <li>
            <a href="">
                <img src="img/cloth_04.jpg" width=46 class="smallImg">
            </a>
        </li>
        <li>
            <a href="">
                <img src="img/cloth_05.jpg" width=46 class="smallImg">
            </a>
        </li>
    </ul>
    
    <!--JS部分-->
    <script type="text/javascript">
        // 1.获取事件源
        var bigImg = document.getElementById("bigImg");
        var smallImgs = document.getElementsByClassName("smallImg");

        for (var i=0;i<smallImgs.length;i++){
            // 2.遍历集合,给每个img标签添加事件
            smallImgs[i].onmouseover = function (){

                // 3.事件处理程序
                // 3.1在悬浮到每个li标签之前,先把所有的li标签的类名都置为空值
                for (var j=0;j<smallImgs.length;j++){
                    smallImgs[j].parentNode.parentNode.setAttribute("class","");
                }

                // 3.2修改大图的src属性值
                var smallImgSrc = this.getAttribute("src");
                bigImg.setAttribute("src",smallImgSrc);
                // 3.3给鼠标悬浮的img标签的父标签添加类
                this.parentNode.parentNode.setAttribute("class","active");

            }
        }
    </script>
</body>
</html>

效果演示

功能运行效果如下:

JavaScript实现淘宝风格商品图片切换功能

功能逻辑说明

页面加载后默认选中并显示第一张图片。当鼠标悬停在任意缩略图上时,大图区域会即时切换为对应的图片内容。

以上就是本文的全部内容,希望能为读者的学习带来帮助,同时也欢迎大家继续支持本站。

作者最新文章