本文实例为大家分享了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
相关文章:
如何快速生成凡客建站的专业级图册?
如何构建满足综合性能需求的优质建站方案?
如何确保FTP站点访问权限与数据传输安全?
建站之星安装路径如何正确选择及配置?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
内网网站制作软件,内网的网站如何发布到外网?
css网站制作参考文献有哪些,易聊怎么注册?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
香港网站服务器数量如何影响SEO优化效果?
网站制作网站,深圳做网站哪家比较好?
如何通过多用户协作模板快速搭建高效企业网站?
太平洋网站制作公司,网络用语太平洋是什么意思?
建站上传速度慢?如何优化加速网站加载效率?
微信h5制作网站有哪些,免费微信H5页面制作工具?
网站制作壁纸教程视频,电脑壁纸网站?
建站之星图片链接生成指南:自助建站与智能设计教程
潮流网站制作头像软件下载,适合母子的网名有哪些?
建站之星云端配置指南:模板选择与SEO优化一键生成
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
建站之星CMS建站配置指南:模板选择与SEO优化技巧
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
建站之星2.7模板:企业网站建设与h5定制设计专题
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
定制建站流程解析:需求评估与SEO优化功能开发指南
如何在阿里云域名上完成建站全流程?
如何快速搭建自助建站会员专属系统?
Android自定义控件实现温度旋转按钮效果
海南网站制作公司有哪些,海口网是哪家的?
Swift中循环语句中的转移语句 break 和 continue
建站之星代理平台如何选择最佳方案?
高端网站建设与定制开发一站式解决方案 中企动力
大学网站设计制作软件有哪些,如何将网站制作成自己app?
建站主机与虚拟主机有何区别?如何选择最优方案?
建站之星后台密码遗忘?如何快速找回?
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
如何快速配置高效服务器建站软件?
如何在腾讯云服务器上快速搭建个人网站?
如何通过西部数码建站助手快速创建专业网站?
如何配置WinSCP新建站点的密钥验证步骤?
建站之星客服服务时间及联系方式如何?
建站之星免费版是否永久可用?
PHP正则匹配日期和时间(时间戳转换)的实例代码
如何安全更换建站之星模板并保留数据?
网站制作企业,网站的banner和导航栏是指什么?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
*请认真填写需求信息,我们会在24小时内与您取得联系。