如何实现用js原生轮播图插件制作
发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,这篇文章主要介绍"如何实现用js原生轮播图插件制作",在日常操作中,相信很多人在如何实现用js原生轮播图插件制作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何实现用
千家信息网最后更新 2024年11月16日如何实现用js原生轮播图插件制作
这篇文章主要介绍"如何实现用js原生轮播图插件制作",在日常操作中,相信很多人在如何实现用js原生轮播图插件制作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何实现用js原生轮播图插件制作"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
调用时也只需要写一个DIV即可
调用的js部分配置内容:
传入轮播图需显示的位置(div)
传入图片和点击跳转的链接
话不多说,上代码
HTML
HTML文档内的
JS插件内容
// 两个参数,第一个轮播图区域,第二个是配置function bannerArea(areaDom, options) { var imgArea = document.createElement("div"); var numberArea = document.createElement("div"); var curIndex = 0;//第几张轮播图 var changeTimer = null; var changeDuration = 1000;//间隔 var timer = null; initImg();//创建一个区域来显示图片 initNumber();//创建区域显示角标 setStatus();//设置状态 autoChange();//自动切换 //下面是局部函数 //创建图片,并且设置样式 function initImg() { imgArea.style.width = "100%"; imgArea.style.height = "100%"; imgArea.style.display = "flex"; imgArea.style.overflow = "hidden"; for (let i = 0; i < options.length; i++) { var obj = options[i]; var img = document.createElement("img"); img.src = obj.imgUrl; img.style.width = "100%"; img.style.height = "100%"; img.style.margin = "0"; img.addEventListener("click", function () { location.href = options[i].link; }) imgArea.appendChild(img); } imgArea.addEventListener("mouseenter", function () { clearInterval(changeTimer); changeTimer = null; }) imgArea.addEventListener("mouseleave", function () { autoChange(); }) areaDom.appendChild(imgArea); } //创建角标元素和设置样式 function initNumber() { numberArea.style.textAlign = "center"; numberArea.style.marginTop = "-25px"; for (let i = 0; i < options.length; i++) { var sp = document.createElement("span"); sp.style.width = "12px"; sp.style.height = "12px"; sp.style.background = "lightgray"; sp.style.display = "inline-block"; sp.style.margin = "0 7px"; sp.style.borderRadius = "50%"; sp.style.cursor = "pointer"; sp.addEventListener("click", function () { curIndex = i; setStatus(); }) numberArea.appendChild(sp); } areaDom.appendChild(numberArea); } //设置角标区域状态 function setStatus() { //设置圆圈的背景颜色 for (var i = 0; i < options.length; i++) { if (i === curIndex) { //设置背景颜色为选择 numberArea.children[i].style.background = "rgb(222 57 57)"; } else { //非选择 numberArea.children[i].style.background = "lightgray";; } } //显示图片 var start = parseInt(imgArea.children[0].style.marginLeft); var end = curIndex * -100; var dis = end - start; var duration = 500; var speed = dis / duration; if (timer) { clearInterval(timer); } timer = setInterval(function () { start += speed * 20; imgArea.children[0].style.marginLeft = start + "%"; if (Math.abs(end - start) < 1) { imgArea.children[0].style.marginLeft = end + "%"; clearInterval(timer); } }, 20) } //自动切换 function autoChange() { if (changeTimer) { return; } changeTimer = setInterval(function () { if (curIndex === options.length - 1) { curIndex = 0; } else { curIndex++; } setStatus(); }, changeDuration) } }
轮播图速度(切换时间)可在插件代码中 var changeDuration = 1000;//间隔 一句里调整
到此,关于"如何实现用js原生轮播图插件制作"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
图片
插件
区域
链接
制作
学习
元素
内容
参数
数组
切换
配置
两个
对象
属性
更多
样式
状态
背景
颜色
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中文数据库使用介绍
百度云的服务器建在哪里
宁波奉化附近超融合服务器
开发网络安全数据保护技术
车保姆网络技术
上网设置里的服务器无响应
工艺品市场调查数据图国家数据库
3d仿真模拟软件开发工具
绝地求生刺激战场开启服务器
最便宜的10m云服务器
设置数据库密码命令位于
用网络技术突破重难点
上海有哪些网络技术有限公司
书法传递网络安全
mysql添加开放数据库
今日头条网络安全检查
ipad系统数据库导出文件
利用网络技术扶贫
标书 软件开发维护
山东国家网络安全周活动
推荐的xp服务器托管公司
存储服务器备份客户端无法识别
江苏倍思网络技术怎么样
数据库scott密码
在线招聘网站数据库设计
加强网络安全知识说课教案
河南高科网络技术有限公司招聘
服务器散热风扇四根线怎么接
北京启明星辰网络安全面试
风林火山网络技术有限公司