淘先锋技术网

首页 1 2 3 4 5 6 7

CSS 可以使网页设计更美观,其中之一的功能就是使 banner 自动滚动,下面我们就来了解一下具体如何实现。

.banner {
width: 100%;/* 设定宽度 */
overflow-x: hidden;/* 隐藏水平滚动条 */
white-space: nowrap;/* 移除文本换行 */
}
.banner img {
display: inline-block;/* 设置图片为行内元素 */
}

首先,我们需要把 banner 区域的宽度设定好,使其可以适配页面。并且设置 overflow-x 为 hidden,这样就可以隐藏水平滚动条,保证页面美观性。

var banner = document.querySelector(".banner");
var imgList = document.querySelectorAll(".banner img");
var bannerWidth = banner.offsetWidth;
var index = 0;// 当前展示的图片索引
var timer = setInterval(function(){
index ++;
if (index >= imgList.length) {
index = 0; 
}
banner.style.transform = "translateX(-" + index * bannerWidth + "px)";
}, 2000);

接下来,我们需要JavaScript代码来实现轮播效果,具体思路如下:

  • 获取 banner 容器及其子元素集合。
  • 获取 banner 宽度,用于实现轮播动画。
  • 设定 index 变量为 0,表示初始展示第一张图片。
  • 设定定时器,每隔 2 秒 index 自增 1 ,并根据 index 值计算出 banner 向左移动的距离,实现图片轮播效果。
  • 当 index 超过图片数量时,重新将 index 设为 0,保证轮播效果正常。

最后,我们将 banner 中的所有图片设置为行内元素,使其依次排列在同一行中。

最终代码如上所示,实现简单易懂,操作便捷。希望可以对你的网页设计提供帮助。