本文实例为大家分享了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="/UploadFiles/2021-04-02/1.jpg">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>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 谭艳精讯TEST-CD试音39号》2CD[DTS-WAV]
- 姚璎格《发烧女中音》DSD版[低速原抓WAV+CUE][1G]
- 张玮伽《微风细雨DSD》发烧大碟[WAV+CUE][1.1G]
- 群星《2024好听新歌14》十倍音质 U盘音乐 [WAV分轨][966M]
- s14全球总决赛T1战队队员都有谁 LOLs14全球总决赛T1战队介绍
- 英雄联盟faker身价有10亿吗 英雄联盟faker身价介绍一览
- faker大魔王称号怎么来的 faker大魔王称号来源介绍
- PS5 Pro上的蒂法更美了!博主盛赞新机1000%值得购买
- 腾讯互娱再离职一员大将!或因供应商贪腐
- Ayaneo3游戏掌机预热:旗舰定位、造型圆润自带底键
- 动力火车.1999-背叛情歌【上华】【WAV+CUE】
- 刘力扬.2019-Neon.Lit虹【摩登天空】【FLAC分轨】
- 群星.2002-恋爱物语情歌对唱精选2CD(引进版)【滚石】【WAV+CUE】
- 群星《闽南情24K德国HD金碟》2CD[WAV+CUE]
- 周传雄《恋人创世纪》环球唱片[WAV+CUE]