在页面中放图片并设置四个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>
?效果图就是上面的啦!
这个记录下来为了以后的使用的方便,也希望大佬们多多交流,多多留言,指出我的不足的之处啦!
有需要的小伙伴自取啦!!
|