原生JavaScript如何实现轮播图效果
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍原生JavaScript如何实现轮播图效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、功能:1、每隔2.5s自动切换下一张轮播图;2、底部按钮切换对应轮播
千家信息网最后更新 2025年01月20日原生JavaScript如何实现轮播图效果
这篇文章主要介绍原生JavaScript如何实现轮播图效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、功能:
1、每隔2.5s自动切换下一张轮播图;
2、底部按钮切换对应轮播图;
3、鼠标移入暂停自动切换,移出开始;
4、鼠标移入,左右切换按钮出现,并可左右切换轮播图。
二、效果(GIF):
三、代码:
结构层(HTML)
表现层(CSS)
.box { width: 300px; height: 200px; background: #333; border-radius: 5px; overflow: hidden; margin: 0 auto; font-size: 0; position: relative; display: flex; align-items: center;} .box:hover .arrows{ display: block;} .box img{ width: 100%;} .arrows { width: 20px; text-align: center; position: absolute; top: 50%; transform: translateY(-50%); z-index: 9; font-size: 30px; display: none;} .left{ left: 10px;} .right{ right: 10px;} .buttom{ list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%);} .buttom li { width: 20px; height: 5px; border-radius: 1px; background: #fff; margin: 0 2px;} .active { background: red !important;}
行为层(JavaScript)
let count = 0 // 创建当前轮播图下标// 获取DOM元素let box = document.querySelector('.box')let img = document.querySelector('img')let left = document.querySelector('.left')let right = document.querySelector('.right')let ul = document.querySelector('ul') // 轮播图片数组let imgArr = [ './image/banner1.jpg', './image/banner2.jpg', './image/banner3.jpg', './image/banner4.jpg'] // 遍历图片数组 添加对应底部切换li标签imgArr.forEach(() => { let li = document.createElement('li') ul.appendChild(li)}) let lis = document.querySelectorAll('li') // 获取所有li标签lis[0].className = 'active' // 给第一个li标签添加选中状态 // 执行切换轮播图function switchImg (type) { return function() { if(type == 1) { if(count - 1 < 0) { count = imgArr.length - 1 } else { count += -1 } } else { if(count + 1 >= imgArr.length) { count = 0 } else { count += 1 } } img.src = imgArr[count] lis.forEach((v,i) => { lis[i].className = '' if(i == count) { lis[i].className = 'active' } }) }} left.addEventListener('click', switchImg(1)) // 上一张轮播图right.addEventListener('click', switchImg(2)) // 下一张轮播图// 点击底部li标签切换轮播图lis.forEach((value,index) => { lis[index].addEventListener('click', () => { lis.forEach((v,i) => { lis[i].className = '' }) count = index img.src = imgArr[count] lis[count].className = 'active' })})// 创建定时器 每隔2.5s自动切换下一张轮播图let swiper = setInterval(() => { right.click()},2500)// 鼠标移入暂停自动切换box.onmouseenter = () => { clearInterval(swiper)}// 鼠标移出开始自动切换box.onmouseleave = () => { swiper = setInterval(() => { right.click() },1500)}
以上是"原生JavaScript如何实现轮播图效果"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
切换
标签
鼠标
效果
底部
内容
图片
按钮
数组
篇文章
下标
代码
价值
元素
兴趣
前轮
功能
定时器
小伙
小伙伴
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
万鹏网络技术
健康网络安全是关注点
mqtt协议和服务器建立连接
vba判断数据库是否可以连接
qt显示数据库的某些列
软件开发的发展地位
数据中心服务器架构
网络技术专业可以做什么工作
思科网络安全设备有哪些
南宁公安网络安全支队
网络技术工程师三层交换原理
mq服务器连接通道
海曙安卓软件开发管理
什么软件开发集体经济学
曙光服务器开机卡在BB
广州云盛胜网络技术
服务器安全狗怎么删除
网络安全演讲稿的格式
域名认证中心及域名数据库
奥运会数据库管理
福建服务器硬盘测评
软件开发专业中职排行榜
去证券公司做软件开发如何
网络摄像机软件开发
spc软件开发经验
深圳市锐信网络技术有限公司
碳资产数据库与管理平台
企业网络安全意识不强
广东网络安全相关培训线上学习
如何防止黑客轰炸服务器