本文实例为大家分享了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
相关文章:
制作农业网站的软件,比较好的农业网站推荐一下?
建站之星后台密码如何安全设置与找回?
已有域名和空间如何搭建网站?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
如何快速上传建站程序避免常见错误?
如何在局域网内绑定自建网站域名?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
如何选择高效稳定的ISP建站解决方案?
设计网站制作公司有哪些,制作网页教程?
C++如何使用std::optional?(处理可选值)
建站中国官网:模板定制+SEO优化+建站流程一站式指南
中山网站推广排名,中山信息港登录入口?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
建站之星如何实现网站加密操作?
建站之星免费模板:自助建站系统与智能响应式一键生成
制作国外网站的软件,国外有哪些比较优质的网站推荐?
如何选择最佳自助建站系统?快速指南解析优劣
网站图片在线制作软件,怎么在图片上做链接?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
宝塔新建站点为何无法访问?如何排查?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
如何获取开源自助建站系统免费下载链接?
制作宣传网站的软件,小红书可以宣传网站吗?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
高防服务器租用指南:配置选择与快速部署攻略
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
如何在景安云服务器上绑定域名并配置虚拟主机?
营销式网站制作方案,销售哪个网站招聘效果最好?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
如何在企业微信快速生成手机电脑官网?
郑州企业网站制作公司,郑州招聘网站有哪些?
招商网站制作流程,网站招商广告语?
如何快速查询域名建站关键信息?
代购小票制作网站有哪些,购物小票的简要说明?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
如何在万网自助建站平台快速创建网站?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
如何打造高效商业网站?建站目的决定转化率
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
如何选择域名并搭建高效网站?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
油猴 教程,油猴搜脚本为什么会网页无法显示?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
宿州网站制作公司兴策,安徽省低保查询网站?
已有域名能否直接搭建网站?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
公司网站设计制作厂家,怎么创建自己的一个网站?
如何快速辨别茅台真假?关键步骤解析
*请认真填写需求信息,我们会在24小时内与您取得联系。