首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

banner左右切换js代码

以下是一个简单的 banner 左右切换的 JavaScript 代码示例:

HTML 部分:

代码语言:txt
复制
<div id="banner">
  <div class="banner-item">图片 1</div>
  <div class="banner-item">图片 2</div>
  <div class="banner-item">图片 3</div>
</div>
<button id="prevBtn">上一张</button>
<button id="nextBtn">下一张</button>

CSS 部分:

代码语言:txt
复制
#banner {
  width: 500px;
  height: 300px;
  overflow: hidden;
  position: relative;
}

.banner-item {
  width: 100%;
  height: 100%;
  position: absolute;
  opacity: 0;
  transition: opacity 0.5s;
}

.banner-item:first-child {
  opacity: 1;
}

JavaScript 部分:

代码语言:txt
复制
const bannerItems = document.querySelectorAll('.banner-item');
let currentIndex = 0;

function showItem(index) {
  bannerItems.forEach((item, i) => {
    item.style.opacity = i === index ? 1 : 0;
  });
}

document.getElementById('prevBtn').addEventListener('click', () => {
  currentIndex = (currentIndex - 1 + bannerItems.length) % bannerItems.length;
  showItem(currentIndex);
});

document.getElementById('nextBtn').addEventListener('click', () => {
  currentIndex = (currentIndex + 1) % bannerItems.length;
  showItem(currentIndex);
});

基础概念:这段代码主要运用了 JavaScript 来控制 DOM 元素的显示和隐藏,通过改变元素的 opacity 属性实现图片的切换效果。

优势:

  1. 实现简单,易于理解和维护。
  2. 不需要引入额外的库或插件。

类型:这是一种基于原生 JavaScript 实现的简单轮播图。

应用场景:适用于简单的页面banner切换展示,比如网站首页的宣传图片轮播。

常见问题及解决方法:

  1. 图片切换不流畅:可能是由于 CSS 过渡效果设置不当,可以调整 transition 的时间和属性。
  2. 点击按钮无反应:检查 JavaScript 中的事件监听是否正确绑定,以及索引计算是否有误。

希望这段代码和解释对您有所帮助!如果您还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Bilibili banner 早中晚切换效果

    ] 来实现一波 做之前先不要调试看 b 站的代码,自己先想想怎么实现,这样知识记得比较深 我们尽量使用 css 解决,js 弥补 分析层级、实现方法 比较明显的可以看到==早中晚三张22 33娘玩耍的图片...鼠标移动过程中图片切换的效果,实质对应的是切换每张图片的==透明度 opacity== 设置了如上早中晚的层级关系后,我们来定一下左移和右移三个时间段的 opacity 左移:中午 -> 早上,由于=...计算 在包裹 banner 的 div 容器样式表设置 --percentage 属性,默认为 0.5 而鼠标移动的距离,需要通过 js 计算 mouseenter、mousemove、mouseout...早中晚的树木 移动的速度大于图片,这块的 transform 要单独处理 晚上的窗口的积雪是晚上图片完全显示出来后,才开始慢慢浮现,这个 opacity 也要单独处理 基本该说的点都在上面了,下面来展示一波代码...注:还有一个下雪的动画,需要用 canvas 实现,这里就没做了 代码 html: banner"> <img src

    2.7K20

    【CSS】课程网站 Banner 制作 ② ( Banner 栏版心盒子测量 | Banner 版心盒子模型左侧导航栏代码示例 )

    文章目录 一、Banner 栏版心盒子测量 1、测量版心元素尺寸 2、课程表测量 二、Banner 版心盒子模型左侧导航栏代码示例 1、HTML 标签结构 2、CSS 样式 3、展示效果 一、Banner...制作 ① ( Banner 栏测量 | Banner 盒子模型代码 | 代码示例 ) 测量的尺寸 , 版心的尺寸为 1200 x 420 像素 ; 版心左侧的 侧导航栏 尺寸为 190 x 420 像素...版心盒子模型左侧导航栏代码示例 ---- 1、HTML 标签结构 核心代码 : Banner 模块 - 结束 --> 完整代码 : 左右两侧各 20 像素内边距 */ width: 150px; /* 高度 420 像素 */ height: 420px; /* 上下没有内边距 , 左右各

    3.3K50

    【CSS】课程网站 Banner 制作 ③ ( Banner 栏右侧课程盒子测量及样式 | Banner 版心盒子模型右侧课程栏代码示例 )

    文章目录 一、Banner 栏右侧课程盒子测量及样式 1、盒子尺寸测量 2、课程表头部样式 3、列表样式 4、最下方按钮样式 二、Banner 版心盒子模型右侧课程栏代码示例 1、HTML 标签结构...15 像素的内边距 ; /* Banner 条右侧 课程表 body 部分整体设置左右 15 像素内边距 */ .course-bd { /* 左右设置 15 像素内边距 */ padding:...-- Banner 模块 - 结束 --> 2、CSS 样式 核心代码 : /* 配置 Banner 条 课程表 盒子模型样式 */ /* Banner 条右侧 课程表盒子样式...条右侧 课程表 body 部分整体设置左右 15 像素内边距 */ .course-bd { /* 左右设置 15 像素内边距 */ padding: 0 15px; } /* Banner 条右侧...条右侧 课程表 body 部分整体设置左右 15 像素内边距 */ .course-bd { /* 左右设置 15 像素内边距 */ padding: 0 15px; } /* Banner 条右侧

    3.6K60

    纯血鸿蒙APP实战开发——左右拖动切换图片效果案例

    当拖动时,实时地调节左右两个Image组件的宽度,从而成功实现左右拖动切换图片效果的功能。效果图预览使用说明点击中间按钮进行左右拖动切换图片。...鸿蒙开发面试真题(含参考答案) 6.TypeScript入门学习手册7.OpenHarmony 经典面试题(含参考答案)8.OpenHarmony设备开发入门【最新版】9.沉浸式剖析OpenHarmony源代码...BasicDataSource.ets // Basic数据控制器 | |---DragToSwitchPicturesDataSource.ets // 左右拖动切换图片数据控制器...DragToSwitchPictures.ets // 主页面 |---model | |---DragToSwitchPicturesModule.ets // 左右拖动切换图片数据模型...|---view | |---DragToSwitchPicturesView.ets // 左右拖动切换图片视图 | |---DesignCattleView.ets

    6310
    领券