实现点击鼠标更换图片

点击屏幕按钮,更换对应的图片功能实现

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #buttons button {
            margin-right: 20px;
        }

        img {
            width: 200px;
            height: 200px;
            margin-top: 30px;
        }
    </style>
</head>

<body>
    <div id="buttons">

    </div>
    <img src="" alt="">
    <script>
        // 根据数据向页面中添加按钮和图片
        var imgs = [
            "img/1.jpg",
            "img/2.jpg",
            "img/3.jpg",
            "img/4.jpg"
        ];
        var divButtons = document.getElementById("buttons");
        var img = document.getElementsByTagName("img")[0];
        img.src = imgs[0];
        // 遍历图片数组 
        imgs.forEach(function(src, i) {
            // 创建按钮 填充内容 追加到div中
            var btn = document.createElement("button");
            btn.innerText = `第${i+1}张图片`;
            divButtons.appendChild(btn);
            // 将数组中图片的地址设置为button的属性
            btn.dataset.src = src;
        });
        // 事件委托绑定点击事件
        divButtons.onclick = function(e) {
            // 点击按钮 设置img的src属性为button的src属性
            if (e.target.dataset.src) {
                img.src = e.target.dataset.src;
            }
        }
    </script>
</body>

</html>

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现图片轮播时触碰可更换图片的效果,可以在 HTML 中使用 `<img>` 标签来添加图片,然后使用 JavaScript实现触碰事件。具体步骤如下: 1. HTML 中添加图片 ```html <div class="slider"> <img src="image1.jpg" alt="Image 1"> <img src="image2.jpg" alt="Image 2"> <img src="image3.jpg" alt="Image 3"> </div> ``` 2. CSS 中设置样式 ```css .slider { position: relative; width: 100%; height: auto; } .slider img { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 0.5s ease-in-out; } .slider img:first-child { opacity: 1; } ``` 上面的代码和之前的一样,我们给 `.slider` 容器设置了 `position: relative`,并给其中的图片设置了 `position: absolute`,这样图片就可以重叠在一起。然后,我们给第一张图片设置了 `opacity: 1`,让它默认显示出来。 3. JavaScript实现触碰事件 ```js const slider = document.querySelector('.slider'); const images = document.querySelectorAll('.slider img'); let currentImageIndex = 0; slider.addEventListener('mouseover', () => { images[currentImageIndex].style.opacity = 0.5; }); slider.addEventListener('mouseout', () => { images[currentImageIndex].style.opacity = 1; }); slider.addEventListener('click', () => { images[currentImageIndex].style.opacity = 0; currentImageIndex++; if (currentImageIndex >= images.length) { currentImageIndex = 0; } images[currentImageIndex].style.opacity = 1; }); ``` 上面的代码中,我们首先获取到 `.slider` 容器和其中的所有图片。然后,我们给容器添加了 `mouseover` 和 `mouseout` 事件,当鼠标悬停在容器上时,当前图片的透明度变成了 0.5,当鼠标离开容器时,当前图片的透明度又变成了 1。 我们还给容器添加了 `click` 事件,当容器被点击时,当前图片的透明度变成了 0,然后 `currentImageIndex` 递增,如果递增后超过了图片总数,就将 `currentImageIndex` 重置为 0,最后将下一张图片的透明度设置为 1,从而实现图片轮播的效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值