三步实现初级轮播图
首先我们来了解js来实现轮播图的原理
1、我们先写一个div
设置 它的宽度高度最好与图片大小一样;
2、在div
中放上一定数量的图片;
3、由于图片会超出div
盒子便会呈现以下效果;👇
4、我们在一定的时间调整第一张图片的位置;
5、下面的图片就会塌下来 ;
6、我们把超出div
盒子的部分隐藏掉就实现了图片1
到3
…
Ⅱ、3步代码简单实现
① html部分
html
部分:我们设置一个div
里面写几张img
图片。- 为第一个图片设置一个
id
或class
我们下面要用到
<body>
<div id="box">
<img src="./图片素材/001.jpg" id="img1">
<img src="./图片素材/002.jpg">
<img src="./图片素材/003.jpg">
<img src="./图片素材/004.jpg">
</div>
</body>
👇
② css部分
- 设置外层box的样式 ,将超出的部分隐藏掉;👇
#box {
width: 420px; //单张图片宽度
height: 230px; //单张图片高度
border: 1px solid #000;
overflow: hidden; //超出隐藏
}
③ js部分
<script>
const img1 = document.getElementById("img1");
let i = 0 ;
//5行代码解最简单的轮播图
setInterval("lubo()",1000); //定时器没过1000毫秒执行该函数一次
function lubo(){
img1.style.marginLeft=i+"px"; //修改css样式:图片距离box左边的距离
i-=400; //距离 减(向左) 1张图片宽度
if(i==-400*4){ i=0 } //一共有4张图片,所以到4的时候回到最开始
}
</script>
- 设置一个定时器每过(1000毫秒)
1
秒执行一次函数。 - 这个函数来设置第一个图片的
margin-left
值
三步完成了最初级的轮播图,添加其他功能就可以在上面扩展啦 !!