轮播图 (无缝轮播图)

article/2025/9/23 12:40:17

1.无缝轮播核心: 在最后多加一张第一张图, 当达到最后一张t1的时候 一瞬间将ul拉回到0的位置

结构:

<div class="wrap"><ul><li><img src="./image/t1.png" alt=""></li><li><img src="./image/t2.png" alt=""></li><li><img src="./image/t3.png" alt=""></li><li><img src="./image/t4.png" alt=""></li>//在最后添加第一张图片<li><img src="./image/t1.png" alt=""></li></ul><p><span class="active"></span><span></span><span></span><span></span></p><button>&lt;</button><button>&gt;</button>
</div>

2.每隔5s 切换到下一张图,实现轮播切换的效果 当前改变的是ul的位置 改变的就是left, 小圆点需要变成当前选中的

js部分:

<!-- 1.6 引入公用js --><script src="./dzz.js"></script><script>// 1.1 获取元素 ulvar ul = document.getElementsByTagName('ul')[0];// 1.5 获取到一张图片的宽度var div = document.getElementsByTagName('div')[0];var dw = parseInt(getStyle(div, 'width'));console.log(dw);// 1.8.1 获取小圆点var spans = document.getElementsByTagName('span');console.log(spans);// 1.9.1 获取livar lis = ul.getElementsByTagName('li');console.log(lis);// 1.3 当前不知道是第几张 假设var n = 0;var t = setInterval(auto, 3000);// 2. 当鼠标划上div 清除定时器div.onmouseenter = function () {clearInterval(t);};// 3. 当鼠标划下div 重新开启定时器div.onmouseleave = function () {t = setInterval(auto, 3000);}// 4. 点击右箭头 切换到下一张// 4.1 获取元素 btnvar btns = document.getElementsByTagName('button');console.log(btns);// 4.2 添加点击事件btns[1].onclick = function () {// 调用autoauto();};// 5. 点击左箭头 切换到上一张btns[0].onclick = function () {// 3 -- 2 -- 1n -= 2;auto();};// 6. 点击每一个小圆点 切换到对应的图片// 6.1 每一个for(var i = 0; i < spans.length; i++){// 6.3.2 存储自定义索引spans[i].index = i;// 6.2 点击spans[i].onclick = function () {// 6.3 切换到对应的图 分析小圆点和图片关系  一一对应 下标相同// 6.3.1 获取到小圆点的下标 console.log(this.index);// 6.4 改变n的值n = this.index - 1;auto();};}// 轮播函数function auto() {// console.log('点击了一下');// 1.4 切换到下一张 n 0 -- 1 -- 2 -- 3n++;// 1,9 如果到了最后一张 回到第一张 n == 4if (n == lis.length) {n = 0;ul.style.left = n * -dw + 'px';// 1.10 更新nn = 1;}// 5.2 增加为0的判断if(n == -1){n = lis.length - 1; // 4ul.style.left = n * -dw + 'px';n = lis.length - 2;}// 1.7 改变ul的left = n * 负的一张图片的宽度// 当前元素.style.属性名 没有动画效果 变成调用 move// ul.style.left = n * -dw + 'px';move(ul, 'left', 30, n * -dw);// 1.8 改变小圆点 小园点和图片的关系是一一对应 下标一样for (var i = 0; i < spans.length; i++) {spans[i].className = '';}spans[n == spans.length ? 0 : n].className = 'active';}
</script>
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

3.效果


http://chatgpt.dhexx.cn/article/ExHSS0Va.shtml

相关文章

JS来实现轮播图(走马灯)可左右切换图片,鼠标移入会停止轮播

效果一&#xff1a; 会自动进行轮播&#xff0c;当鼠标进入轮播图区域会停止轮播&#xff0c;点击左右箭头可以向前、向后进行切换图片 效果二&#xff1a; 这种效果比第一种效果简单&#xff0c;只要删除一些代码和修改一些样式即可。 实现原理 轮播图整体是放在ul里的&…

oracle nvl函数 mysql_关于Oracle数据库中的nvl函数

以前将数据库查询结果展示在页面时&#xff0c;对于值null的字段&#xff0c;总是要判断下&#xff0c;如果为null&#xff0c;就显示ldquo;rdquo;&#xff0c;突然发现这个方法好笨 以前将数据库查询结果展示在页面时&#xff0c;对于值null的字段&#xff0c;总是要判断下&am…

nvl 函数初识

根据bi业务逻辑写sql时&#xff0c;在写法上有些区别&#xff0c;我习惯用case when &#xff0c;没有用过nvl所以试一试 bi某一列的业务如下&#xff1a; 我用sql分别试了case when 和 nvl &#xff0c;得到的结果是一致的 &#xff0c; 使用nvl函数的部分sql&#xff1a; …

MySQL中创 NVL 函数

NVL的定义 NVL(s1, s2)&#xff1a;当s1为null时&#xff0c;返回s2&#xff0c;否则返回s1。 SELECT NVL(S, R) FROM DUAL; -- S SELECT NVL(NULL, R) FROM DUAL; -- RNVL方法的兼容策略 第一种&#xff1a;用 case when 代替 NVL&#xff0c;这种方法代码改造量较大&am…

Xp 激活

2019独角兽企业重金招聘Python工程师标准>>> 为了在xp下测试一键安装 支持多语言、多用户、多数据库、完美URL之路过秋天版博客发布[绝对有杀伤力的博客] 这两天为xp激活折腾了不少时间,在不断用ghost还原来还原去的,原因就是我有一张OEM版本的系统,正常方式的…

Windows XP Professional With SP3 VOL[MSDN原版]+正版密钥

Windows XP Professional简体中文版,这是一个中国人最熟悉不过的操作系统了(也有人称它一个最适合中国人的操作系统)。Windows XP 由于其出色的安全性、可靠性、易用性、高性能,使它获得了巨大的成功,直至今天它仍然是全球使用率最高的操作系统。 下面我们来说说…

Windows.XP.x64.Pro.VOL(WINXP64位企业版)+正版序列号

Windows.XP.x64.Pro.VOL(WINXP64位企业版)的设计初衷是&#xff1a;满足机械设计和分析、三维动画、视频编辑和创作以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户的需求。 专用技术应用程序的性能优势 64 位计算性能在汽车或飞机设计等领域体现出优势…

如何查看XP系统的密匙

最近有网友提问IT视窗小编说他家现在用的是xp系统&#xff0c;如何查看XP系统的密匙呢。其实查看XP系统密匙还是比较的简单的&#xff0c;小编就把查看XP系统密匙的两种方法都写成教程分享给大家。下面就是小编作为大神教你如何查看XP系统的密匙。希望大家都喜欢我的教程。 1、…

IDEA 使用 README.md 介绍项目

IDEA 使用 README.md 介绍项目 文章目录 一.前言二.IDEA创建Markdown文件1.新建文件- 1.1.创建README.md文件 2.编辑md文件常用语法2.1.定义标题字号2.2. 文字样式2.2.1.文字斜体2.2.2.文字加粗2.2.3.文字删除线2.2.4. 引用文本 2.3.列表样式2.3.1 无符号列表2.3.2. 有符号列表…

Github美化README

GITHUB中的MD文件 在github中新建一个仓库Create a new repository时会有一个README文件&#xff0c;其实为自述文件&#xff0c;介绍这个仓库的基本概要。这个文件也是MD文件&#xff0c;可用软件typora和vscode等md软件进行拟写就行了。也是下面介绍的第三种方法。 编写方式…

README.md文件的作用及其文件内容的语法

README.md文件一般出现在项目的根目录下&#xff0c;其作用是对项目的主要信息进行描述。 如果一个项目你很长时间都没有动&#xff0c;突然你需要修改这个项目&#xff0c;那么通过README.md中对项目的描述能让你快速的再次上手&#xff1b; 或者别人拿到你的项目也能通过READ…

原来Github上的README.md文件这么有意思——Markdown语言详解

转载请注明出处&#xff1a;http://blog.csdn.net/zhaokaiqiang1992 之前一直在使用github&#xff0c;也在上面分享了不少的项目和Demo&#xff0c;每次创建新项目的时候&#xff0c;使用的都是默认的README.md文件&#xff0c;也不曾对这个文件有过什么了解。但是在看到别人写…

如何规范写出 README 模板?

README 标准是由 RichardLitt 发起&#xff0c;十多名开发者共同贡献完成的&#xff0c;在 GitHub 上有 1230 Star&#xff1a;standard-readme 标准 README 实例&#xff1a; standard-readme/tree/main/example-readmes奖励&#xff1a;实例 本文模板获取地址&#xff1a;…

GitHub README-Template.md - README.md 模板

GitHub README-Template.md - README.md 模板 A template to make good README.md. https://gist.github.com/PurpleBooth/109311bb0361f32d87a2 # Project TitleOne Paragraph of project description goes here## Getting StartedThese instructions will get you a copy o…

怎么写一个超棒的 README 文档

点击上方 Java后端&#xff0c;选择 设为星标 优质文章&#xff0c;及时送达 大数据文摘出品 来源&#xff1a;medium 编译&#xff1a;青柠 如果你很着急、只是想要模板&#xff0c;可以直接跳到底部&#xff08;但这样一点不酷&#xff09;&#xff0c;准备酷的人&#xff0c…

【工具推荐】最简单方法创建 README

CSDN话题挑战赛第1期 活动详情地址&#xff1a;https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f 参赛话题&#xff1a;程序员常用小工具推荐 话题描述&#xff1a;俗话说&#xff0c;工欲善其事&#xff0c;必先利其器。作为每天和各种开发工具打交道的程序…

编写规范的readme文件

为什么要写这篇博客&#xff1f; 其实我是一个入坑已经半年的程序员&#xff0c;因为不是计算机专业&#xff0c;只能自己摸索&#xff0c;所以我深知博客的重要性。每次我的学习笔记啊&#xff0c;项目的&#xff0c;面试题啊&#xff0c;有的&#xff0c;只要有时间&#xff…

如何写好github上的README

项目名称&#xff08;超大字体或者是图片形式&#xff09; 这里再写一句骚气又精准的话描述你的项目吧 上手指南 写几句这样的话概括接下来的内容&#xff1a;以下指南将帮助你在本地机器上安装和运行该项目&#xff0c;进行开发和测试。关于如何将该项目部署到在线环境&…

README.md编写

一、摘要 项目一般会有个描述文件&#xff0c;对于项目的代码来讲&#xff0c;这个描述就是README.md文件&#xff0c;可以描述各模块功能、目录结构等。该文件可以方便让人快速了解项目的代码结构和功能。当然&#xff0c;若要深层次的了解项目&#xff0c;就得看项目总体的需…

GitHub上README.md编写教程(基本语法)

主要参考&#xff1a;GitHub上README.md编写教程&#xff08;基本语法&#xff09;_无名的一棵小树-CSDN博客_readme.md语法 一、标题写法&#xff1a; 第一种方法&#xff1a;标题文本下方加“”号或“--”号 1、在文本下面加上等于号“” &#xff0c;那么上方的文本就变成…