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

banner自动切换js代码

以下是一份简单的 banner 自动切换的 JavaScript 代码示例:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Banner 自动切换</title>
  <style>
    #banner {
      width: 100%;
      height: 300px;
      position: relative;
    }

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

    .banner-item.active {
      opacity: 1;
    }
  </style>
</head>

<body>
  <div id="banner">
    <img class="banner-item active" src="image1.jpg" alt="图片 1">
    <img class="banner-item" src="image2.jpg" alt="图片 2">
    <img class="banner-item" src="image3.jpg" alt="图片 3">
  </div>

  <script>
    const bannerItems = document.querySelectorAll('.banner-item');
    let currentIndex = 0;

    function switchBanner() {
      bannerItems[currentIndex].classList.remove('active');
      currentIndex = (currentIndex + 1) % bannerItems.length;
      bannerItems[currentIndex].classList.add('active');
    }

    setInterval(switchBanner, 3000); // 每 3 秒切换一次
  </script>
</body>

</html>

基础概念:

  • querySelectorAll:用于获取匹配指定 CSS 选择器的所有元素。
  • setInterval:定时执行指定的函数。

优势:

  1. 简单易懂,容易实现。
  2. 可以灵活控制切换的时间间隔。

类型: 常见的有基于图片的切换、基于内容的切换等。

应用场景:

  1. 网站首页的广告轮播。
  2. 电商网站的产品展示。

可能遇到的问题及解决方法:

  1. 切换速度过快或过慢:可以通过调整 setInterval 的时间间隔来解决。
  2. 图片加载失败导致显示异常:可以在图片标签上添加 onerror 事件处理,例如 onerror="this.src='默认图片路径'"
  3. 浏览器兼容性问题:确保使用的方法在目标浏览器中都得到支持,或者使用相应的 polyfill 库。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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 栏测量 ----...条的背景颜色值 #1c036c ; 使用 " 移动工具 " , 勾选 自动选择 选项 , 选择图层 , 点击 背景图片 后 , 会自动选择 该图片所在的图层 , 在 Cutterman 中 , 点击..." 导出选中图层 " , 切图后的效果 : 二、Banner 盒子模型代码 ---- 1、HTML 标签结构 Banner 模块 - 开始 --> banner"> Banner 模块 - 结束 --> 完整代码 : Banner 模块 - 结束 --> 2、CSS 样式 /* Banner 条样式 */ .banner { /* 宽度自动填充整个浏览器, 这里只设置高度 */

3.9K20
  • 【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 模块 - 结束 --> 完整代码 : <!...条样式 */ .banner { /* 宽度自动填充整个浏览器, 这里只设置高度 */ height: 420px; /* 背景颜色 #1c036c , 背景图片水平居中对齐 */ background

    3.3K50

    Tab选项卡切换效果-自动切换

    HTML结构和css代码都跟上节课一样,不知道或忘了的童鞋可以先去看看上节的内容。 现在我们先来实现纯自动切换的效果。这里要使用到setInterval函数。...这里出现了两个问题;第一,当自动切换时,效果正常,当鼠标滑入然后离开时,自动切换没有切换到我们鼠标滑入时的下一个标题,而是按照之前自动切换时的下一个标题来切换。...在以下这段控制自动切换的代码中, 当鼠标滑入时,id的值与index的值不一致,导致了autoPlay函数中的index++得出了不一样的索引结果。...据此我们可知,只要在changeOption函数最后,让传入的当前索引(curIndex)都赋值给index,那么在下一次index++时,不管是手动还是自动,都是会自动切换到当前的下一个标题了 所以我们在代码中加入最后这句即可...: 这样就全部完成了,最后把整个代码亮出来: 这期的tab手动与自动切换的效果就全部完成了,希望各位多多练手,熟能生巧。

    5.4K40

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

    文章目录 一、Banner 栏右侧课程盒子测量及样式 1、盒子尺寸测量 2、课程表头部样式 3、列表样式 4、最下方按钮样式 二、Banner 版心盒子模型右侧课程栏代码示例 1、HTML 标签结构...条右侧 课程表 底部按钮 - 鼠标经过时的样式 */ .all:hover { background-color: #00a4ff; color: #fff; } 二、Banner 版心盒子模型右侧课程栏代码示例...---- 1、HTML 标签结构 核心代码 : Banner 模块 - 结束 --> 2、CSS 样式 核心代码 : /* 配置 Banner 条 课程表 盒子模型样式 */ /* Banner 条右侧 课程表盒子样式...条样式 */ .banner { /* 宽度自动填充整个浏览器, 这里只设置高度 */ height: 420px; /* 背景颜色 #1c036c , 背景图片水平居中对齐 */ background

    3.6K60

    【python自动化】playwright长截图&切换标签页&JS注入实战

    「1、通过url」 page.url 「2、通过title」 page.title playwright切换标签页代码封装 个人感觉切换标签页selenium更方便一点,playwright需要我们自己封装一下...图片拼接技术参考之前文章:web自动化之selenium的特殊用法汇总篇 , 这篇文章的特殊网页无法长截图,使用多图拼接技术章节。...步骤: 1、使用playwright连接本地浏览器(含用户数据,免登陆,懒加载) 2、使用js在新标签页打开相关网址 3、切换至指定标签页 4、定位右侧栏,结合js滚动进行多图截取 5、使用PIL库进行多图拼接...注:本教程为示列代码,业务代码为方便阅读未进行封装,相关代码都进行了注释。...days={timeRange}", "_blank");' ) # 执行js代码 page.wait_for_timeout(5000) page = switch_to_page(default_context

    2.8K20
    领券