JavaScript 实战(图片切换)【轮播图】

简介: JavaScript 实战(图片切换)【轮播图】

功能描述:

  1. 点击下一张换到下一张图片。
  2. 点击上一张换到上一张图片。
  3. 等到最后一张时,再点击下一张呈现第一张图片。

实现效果:

https://www.bilibili.com/video/BV1LF411G72N?t=8.1

图片切换

<!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>图片切换</title>
    <style>
      /* 给图片设置同样的宽和高 */
        img {
            width: 200px;
            height: 200px;
        }
        /* 给按钮设置精美的样式*/
        button {
            width:98px;
            height: 40px;
            background: skyblue;
            color: white;
            border: 0;
        }
    </style>
</head>
<body>
  // 放入第一张图片
    <img src="../imgs/Baymax1.png" id="baymax">
    <br>
    <button id='prev'>上一张</button>
    <button id='next'>下一张</button>
    <script>
        // 1.获取事件源
        var baymax = document.querySelector('#baymax')
        var nextBtn = document.querySelector('#prev')
        var prevBtn = document.querySelector('#next')
    // 初始化 最小索引、最大索引和当前索引
        var minIndex = 1
        var maxIndex = 4
        var currentIndex = minIndex
        // 2.监听按钮的点击 (下一张)
        nextBtn.onclick = function(){
          // 当前索引等于最大索引时,把当前索引修改为最小索引
            if(currentIndex === maxIndex){
                currentIndex = minIndex
            }else{
              // 当前索引每次+1
                currentIndex++
            }
            // 改变 baymax 图片的 src 属性
            baymax.setAttribute('src','../imgs/Baymax'+ currentIndex +'.png')
        }
        // 监听按钮的点击 (上一张)
        prevBtn.onclick = function(){
            if(currentIndex === minIndex){
                currentIndex = maxIndex
            }else{
                currentIndex--
            }
            baymax.setAttribute('src','../imgs/Baymax'+ currentIndex +'.png')
        }
    </script>
</body>
</html>

注意点:


图片的地址要设置成连续的,比如 'Baymax1.png'、'Baymax2.png',便于获取和呈现图片。

currentIndex 的作用是来定位到我们想得到的图片,利用 + 拼接的方法,改变图片的地址。

setAttribute():用于创建或改变某个新属性。此处的作用就是改变图片的地址。[ 参考链接 ]


相关文章
|
2月前
|
自然语言处理 JavaScript 前端开发
深入理解JavaScript中的闭包:原理与实战
【10月更文挑战第12天】深入理解JavaScript中的闭包:原理与实战
|
21天前
Next.js 实战 (二):搭建 Layouts 基础排版布局
本文介绍了作者在Next.js v15.x版本发布后,对一个旧项目的重构过程。文章详细说明了项目开发规范配置、UI组件库选择(最终选择了Ant-Design)、以及使用Ant Design的Layout组件实现中后台布局的方法。文末展示了布局的初步效果,并提供了GitHub仓库链接供读者参考学习。
Next.js 实战 (二):搭建 Layouts 基础排版布局
|
12天前
|
JavaScript
时尚简洁的js轮播图特效插件
这是一款时尚简洁的js轮播图特效插件。该轮播图采用es6语法制作,底部带缩略图和描述信息。图片和描述信息在切换时同步滑动。
|
16天前
|
存储 网络架构
Next.js 实战 (四):i18n 国际化的最优方案实践
这篇文章介绍了Next.js国际化方案,作者对比了网上常见的方案并提出了自己的需求:不破坏应用程序的目录结构和路由。文章推荐使用next-intl库来实现国际化,并提供了详细的安装步骤和代码示例。作者实现了国际化切换时不改变路由,并把当前语言的key存储到浏览器cookie中,使得刷新浏览器后语言不会失效。最后,文章总结了这种国际化方案的优势,并提供Github仓库链接供读者参考。
|
17天前
Next.js 实战 (三):优雅的实现暗黑主题模式
这篇文章介绍了在Next.js中实现暗黑模式的具体步骤。首先,需要安装next-themes库。然后,在/components/ThemeProvider/index.tsx文件中新增ThemeProvider组件,并在/app/layout.tsx文件中注入该组件。如果想要加入过渡动画,可以修改代码实现主题切换时的动画效果。最后,需要在需要的位置引入ThemeModeButton组件,实现暗黑模式的切换。
|
1月前
|
设计模式 前端开发 JavaScript
JavaScript设计模式及其在实战中的应用,涵盖单例、工厂、观察者、装饰器和策略模式
本文深入探讨了JavaScript设计模式及其在实战中的应用,涵盖单例、工厂、观察者、装饰器和策略模式,结合电商网站案例,展示了设计模式如何提升代码的可维护性、扩展性和可读性,强调了其在前端开发中的重要性。
29 2
|
2月前
|
JavaScript 前端开发 开发者
探索JavaScript原型链:深入理解与实战应用
【10月更文挑战第21天】探索JavaScript原型链:深入理解与实战应用
39 1
|
2月前
|
SQL 前端开发 JavaScript
Nest.js 实战 (十五):前后端分离项目部署的最佳实践
这篇文章介绍了如何使用现代前端框架Vue3和后端Node.js框架Nest.js实现的前后端分离架构的应用,并将其部署到生产环境。文章涵盖了准备阶段,包括云服务器的设置、1Panel面板的安装、数据库的安装、域名的实名认证和备案、SSL证书的申请。在部署Node服务环节,包括了Node.js环境的创建、数据库的配置、用户名和密码的设置、网站信息的填写、静态网站的部署、反向代理的配置以及可能遇到的常见问题。最后,作者总结了部署经验,并希望对读者有所帮助。
212 11
|
2月前
|
前端开发
js-基础轮播图制作
js-基础轮播图制作
34 7
|
3月前
|
JavaScript 前端开发
js轮播图练习
文章介绍了如何使用HTML、CSS和JavaScript创建一个简单的轮播图效果。通过`img`标签展示图片,并通过点击下方的点(`span`标签)切换图片。文章提供了完整的HTML结构、CSS样式和JavaScript代码,以及图片的展示和轮播图的效果图。
js轮播图练习