JavaScript onclick点击事件:点击切换图片并可以自动播放

在页面中放图片并设置四个button,可以通过点击上一张下一张来切换图片(翻到最后一张自动切换到第一张).用户点击自动播放,每隔两秒自动切换(类似轮播图),点击停止播放,就终止播放,运用了定时器。先看效果图.

 下面是完整的代码,需要的自取哈!

<body>
    <img id="img" src="./img/0.webp" alt=""><br>
    //给四个button加上点击事件
    <button type="button" onclick="changeImg1()">上一张</button>
    <button type="button" onclick="changeImg()">下一张</button>
    <button type="button" onclick="autoplay1()">自动播放</button>
    <button type="button" onclick="stop1()">停止播放</button>
    <script>
        //获取这个img
        var img = document.getElementById("img");
        //设置一个变量,负责切换图片,作为索引值
        var index = 0;
        //设置一个变量来存储定时器的返回值
        var t = null;
        //定义一个数组来存储照片的地址
        var imgPath = ["./img/0.webp", "./img/1.webp", "./img/2.webp", "./img/3.webp", "./img/4.webp", "./img/5.webp", "./img/6.webp", "./img/7.webp", "./img/8.webp"]
        //下一张
        function changeImg() {
            //我们用三目运算符
            index = index>=(imgPath.length-1)?0:++index;
            img.src = imgPath[index];
            // 或者是if判断
            // if (index>=imgPath.length-1){
            //     index=0;
            //     img.src = `${imgPath[index]}`;
            // } else {
            //      index++;
            //     img.src = `${imgPath[index]}`
            // }
        }
        //上一张
        function changeImg1() {
            //同上
            index= index<=0?(imgPath.length-1) : --index;
            img.src =imgPath[index]
            //下面这个if判断也可以
            // if (index > 0 && index <= 8) {
            //     index--;
            //     img.src = `${imgPath[index]}`;
            // } else if (index <= 0) {
            //     index = 8;
            //     img.src = `${imgPath[index]}`

            // }
        }
        //自动播放
       function autoplay1() {
               t= setInterval(() => {
                   //直接将下一张的方法放在里面
                    changeImg()
                }, 2000)}//2秒调用一次
        function stop1(){
            //清除定时器
            clearInterval(t);
        }
    </script>
</body>

 效果图就是上面的啦!

这个记录下来为了以后的使用的方便,也希望大佬们多多交流,多多留言,指出我的不足的之处啦!

有需要的小伙伴自取啦!!

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值