原生js实现轮播图
发布时间 - 2026-01-10 23:18:20 点击率:次本文实例为大家分享了js轮播图的具体实现代码,供大家参考,具体内容如下

CSS:
<style>
* {
margin: 0;
padding: 0;
list-style: none;
text-decoration: none;
font-family: "Microsoft YaHei", Arial, Helvetica, sans-serifsans-serif;
}
body {
background: #eee;
}
#Bigbox {
width: 720px;
height: 420px;
border: 1px solid #333;
margin: 60px auto;
}
#Box {
width: 700px;
height: 400px;
position: relative;
overflow: hidden;
top: 10px;
left: 10px;
}
#Ul {
height: 400px;
position: absolute;
top: 0;
left: 0;
}
#Ul li {
width: 700px;
height: 400px;
float: left;
}
#Left {
width: 60px;
height: 50px;
border-radius: 30%;
background: rgba(96, 96, 96, .5);
position: absolute;
top: 50%;
left: 0;
margin-top: -25px;
color: #fff;
line-height: 50px;
text-align: center;
cursor: pointer;
font-size: 20px;
display: none;
}
#Right {
width: 60px;
height: 50px;
border-radius: 30%;
background: rgba(96, 96, 96, .5);
position: absolute;
top: 50%;
right: 0;
margin-top: -25px;
color: #fff;
line-height: 50px;
text-align: center;
cursor: pointer;
font-size: 20px;
display: none;
}
</style>
html:
<div id="Bigbox">
<div id="Box">
<ul id="Ul">
<li>
1<img src="img/1.jpg" width="100%" height="100%">
</li>
<li>
2<img src="img/2.jpg" width="100%" height="100%">
</li>
<li>
3<img src="img/3.jpg" width="100%" height="100%">
</li>
<li>
4<img src="img/4.jpg" width="100%" height="100%">
</li>
<li>
5<img src="img/5.jpg" width="100%" height="100%">
</li>
<li>
6<img src="img/6.jpg" width="100%" height="100%">
</li>
<li>
7<img src="img/7.jpg" width="100%" height="100%">
</li>
<li>
8<img src="img/8.jpg" width="100%" height="100%">
</li>
<li>
9<img src="img/9.jpg" width="100%" height="100%">
</li>
<li>
10<img src="img/10.jpg" width="100%" height="100%">
</li>
</ul>
<div id="Left" onselectstart="return false">左</div>
<div id="Right" onselectstart="return false">右</div>
</div>
</div>
js:
<script>
window.onload = function() {
var n = 0;
var timer = null;
var timer1 = null;
var timer2 = null;
var timer3 = null;
var oDiv = document.getElementById('Box')
var oUl = document.getElementById('Ul')
var oLi = oUl.getElementsByTagName('li')
//获取div宽度
var oDivWidth = getStyle(oDiv, 'width').split('px')[0] //复制oUl的innerHTML
oUl.innerHTML += oUl.innerHTML
//设置ul宽度
oUl.style.width = oLi.length * oDivWidth + 'px'
//获取ul宽度
var oUlWidth = getStyle(oUl, 'width').split('px')[0] //封装获取非行间样式函数
function getStyle(obj, sName) {
if (obj.currentStyle) {
return obj.currentStyle[sName];
} else {
return getComputedStyle(obj, false)[sName];
}
}
//执行函数
clearInterval(timer3)
timer3 = setInterval(function() {
Run()
}, 2000)
//封装运动函数
function Run() {
clearInterval(timer)
timer = setInterval(function() {
n -= 20;
oUl.style.left = n + 'px'
if (n % oDivWidth == 0) {
clearInterval(timer3)
clearInterval(timer)
clearInterval(timer1)
timer1 = setTimeout(function() {
Run()
}, 2000)
}
if (n <= -oUlWidth / 2) {
oUl.style.left = 0;
n = 0;
clearInterval(timer3)
clearInterval(timer)
clearInterval(timer1)
timer1 = setTimeout(function() {
Run()
}, 2000)
}
}, 30)
}
//鼠标移入停止滚动
oDiv.onmouseover = function() {
Left.style.display = 'block'
Right.style.display = 'block'
clearInterval(timer3)
clearInterval(timer2)
timer2 = setInterval(function() {
if (n % oDivWidth == 0) {
clearInterval(timer)
clearInterval(timer1)
}
}, 30)
}
//鼠标移出继续执行
oDiv.onmouseout = function() {
Left.style.display = 'none'
Right.style.display = 'none'
clearInterval(timer3)
clearInterval(timer2)
clearInterval(timer1)
timer1 = setTimeout(function() {
Run()
}, 2000)
}
//向左
Left.onclick = function() {
//清除所有定时器
clearInterval(timer)
clearInterval(timer1)
clearInterval(timer2)
clearInterval(timer3)
timer = setInterval(function() {
n -= 50;
oUl.style.left = n + 'px'
if (n % oDivWidth == 0) {
clearInterval(timer)
}
if (n <= -oUlWidth / 2) {
oUl.style.left = 0;
n = 0;
}
}, 30)
}
//向右
Right.onclick = function() {
clearInterval(timer)
clearInterval(timer1)
clearInterval(timer2)
clearInterval(timer3)
if (n == 0) {
n = -oUlWidth / 2
}
clearInterval(timer)
timer = setInterval(function() {
n += 50;
oUl.style.left = n + 'px'
if (n % oDivWidth == 0) {
clearInterval(timer)
}
}, 30)
}
}
</script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js
# 轮播图
# 原生JS实现层叠轮播图
# 原生JS京东轮播图代码
# 原生js实现旋转木马轮播图效果
# 原生js实现轮播图的示例代码
# 支持移动端原生js轮播图
# 原生JS轮播图插件
# 原生js实现无限循环轮播图效果
# 原生js实现焦点轮播图效果
# 原生js实现无缝轮播图效果
# 原生js实现网易轮播图效果
# 原生js实现移动开发轮播图、相册滑动特效
# js原生代码实现轮播图的实例讲解
# 鼠标
# 行间
# 大家分享
# 具体内容
# 大家多多
# 移出
# Box
# hidden
# overflow
# relative
# position
# border
# px
# height
# auto
# solid
# top
# rgba
# radius
# fff
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
香港服务器如何优化才能显著提升网站加载速度?
Laravel API资源类怎么用_Laravel API Resource数据转换
Laravel怎么实现模型属性的自动加密
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
Laravel distinct去重查询_Laravel Eloquent去重方法
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
nodejs redis 发布订阅机制封装实现方法及实例代码
用v-html解决Vue.js渲染中html标签不被解析的问题
如何在云主机快速搭建网站站点?
Laravel用户密码怎么加密_Laravel Hash门面使用教程
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
在线教育网站制作平台,山西立德教育官网?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
Laravel storage目录权限问题_Laravel文件写入权限设置
Java解压缩zip - 解压缩多个文件或文件夹实例
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
北京网站制作的公司有哪些,北京白云观官方网站?
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
原生JS获取元素集合的子元素宽度实例
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
如何在阿里云部署织梦网站?
微信公众帐号开发教程之图文消息全攻略
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Laravel如何自定义分页视图?(Pagination示例)
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
简单实现Android验证码
千库网官网入口推荐 千库网设计创意平台入口
Bootstrap整体框架之JavaScript插件架构
Laravel如何处理异常和错误?(Handler示例)
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
大连网站制作公司哪家好一点,大连买房网站哪个好?
在centOS 7安装mysql 5.7的详细教程
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
制作旅游网站html,怎样注册旅游网站?
Python文件流缓冲机制_IO性能解析【教程】
Laravel怎么清理缓存_Laravel optimize clear命令详解
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
阿里云网站搭建费用解析:服务器价格与建站成本优化指南

