图片轮播是网页中常见的功能之一,可以用来展示图片、广告等内容。下面介绍如何使用JavaScript实现图片轮播功能。
1. HTML结构
<div id="slider">
<ul>
<li><img src="image1.jpg" alt=""></li>
<li><img src="image2.jpg" alt=""></li>
<li><img src="image3.jpg" alt=""></li>
<li><img src="image4.jpg" alt=""></li>
</ul>
</div>
其中,ul标签中的每个li标签代表一张图片。
2. CSS样式
#slider {
width: 600px;
height: 400px;
overflow: hidden;
}
#slider ul {
width: 2400px;
height: 400px;
margin: 0;
padding: 0;
list-style: none;
}
#slider li {
float: left;
width: 600px;
height: 400px;
}
#slider img {
width: 100%;
height: 100%;
}
其中,#slider是轮播图容器的id,ul标签的宽度为所有li标签宽度之和,li标签的宽度与#slider容器宽度相同,高度也相同。
3. JavaScript代码
var slider = document.getElementById('slider');
var ul = slider.children[0];
var liCount = ul.children.length;
var currentIndex = 0;
var intervalId;
function slideTo(index) {
if (index < 0 || index >= liCount) {
return;
}
ul.style.left = -index * 600 + 'px';
currentIndex = index;
}
function slideNext() {
slideTo(currentIndex + 1);
}
intervalId = setInterval(slideNext, 3000);
slider.onmouseover = function() {
clearInterval(intervalId);
};
slider.onmouseout = function() {
intervalId = setInterval(slideNext, 3000);
};
其中,slider代表轮播图容器,ul代表图片列表,liCount为图片数量,currentIndex为当前显示的图片下标。slideTo函数用于切换图片,slideNext函数用于切换到下一张图片。intervalId为定时器的id,用于清除定时器。onmouseover和onmouseout事件用于在鼠标移入和移出时暂停和恢复自动轮播。
通过以上步骤,即可实现JavaScript图片轮播功能。