html+js实现切换图片(点击按钮切换)

28 篇文章 1 订阅
20 篇文章 2 订阅

效果图

 实现点击按钮切换图片的效果

具体代码 

这个其实 跟轮播图很像 ,如果想自己循环播放 ,并且有动画,建议swiper实现。

Swiper演示 - Swiper中文网

<!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>
        div {
            width: 400px;
            height: 200px;
        }

        img {
            width: 100%;
            height: 100%;
        }
    </style>
</head>

<body>
    <span id="text"></span>
    <div>
        <img id="img" alt="">
    </div>
    <button id="pret">上一张</button>
    <button id="next">下一张</button>
</body>
<script>
    //图片地址数组。我用的网络图。你可以自行替换
    let imgArr = ["https://gimg2.baidu.com/image_search/src=http%3A%2F%2Ffile03.16sucai.com%2F2016%2F10%2F1100%2F16sucai_p20161004049_098.JPG&refer=http%3A%2F%2Ffile03.16sucai.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1627526069&t=254d86f033e2279617c40b2035e57849",
        "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic.soutu123.com%2Felement_origin_min_pic%2F16%2F10%2F09%2F0257f936320f509.jpg%21%2Ffw%2F700%2Fquality%2F90%2Funsharp%2Ftrue%2Fcompress%2Ftrue&refer=http%3A%2F%2Fpic.soutu123.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1627526146&t=d429d67bd3e56f8f7ff772debe79aff6",
        "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fzkres1.myzaker.com%2F202110%2F615d7753b15ec03a1072d375_1024.jpg&refer=http%3A%2F%2Fzkres1.myzaker.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1664502719&t=37790778733d4de05824630bc34b65d1"
    ]

    let img = document.getElementById("img"); //img标签
    let pret = document.getElementById("pret"); //上一个按钮dom
    let next = document.getElementById("next"); //下一个按钮dom
    let text = document.getElementById("text"); //文字显示
    var i = 0;
    defaultImg(imgArr, img, i, text);
    next.addEventListener("click", () => {
        nextFn(imgArr, img)
    })
    pret.addEventListener("click", () => {
        prextFn(imgArr, img)
    })
    function defaultImg(arr, img, index, text) { //默认的图片  arr-图片数组 。img是图片dom,index-是下标 text-是文字标签dom
        img.src = arr[index];
        text.innerText = `一共是${arr.length}张,当前是第${index + 1}张`
    }
    function prextFn(arr) { //上一张
        if (i == 0) {
            i = arr.length - 1;
            img.src = arr[arr.length - 1];//加上这个就是到了第一张,再次点击就回到最后一张,不想要可以注释
            text.innerText = `一共是${arr.length}张,当前是第${i + 1}张`
            alert("已经是第一张了,在点击就会回到最后一张"); //如果不想这样可以把这三行注释掉
            return
        }
        i--;
        img.src = imgArr[i];
        text.innerText = `一共是${arr.length}张,当前是第${i + 1}张`
    }
    function nextFn(arr) { //下一张
        if (i == arr.length - 1) {
            i = 0;
            img.src = arr[0]; //加上这个就是到了最后一张,再次点击就回到第一张,不想要可以注释
            text.innerText = `一共是${arr.length}张,当前是第${i + 1}张`
            alert("已经是最后一张了,在点击就会回到第一张"); //如果不想这样可以把这三行注释掉
            return
        }
        i++;
        img.src = arr[i];
        text.innerText = `一共是${arr.length}张,当前是第${i + 1}张`
    }
</script>

</html>

  • 12
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

崽崽的谷雨

漫漫前端路,摸爬滚打

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值