使用原生的javascript来实现轮播图
(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )
下面看下js轮播图的实现代码,具体代码如下所示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> * { padding: 0; margin: 0; list-style: none; border: 0; } .all { width: 500px; height: 200px; padding: 7px; border: 1px solid #ccc; margin: 100px auto; position: relative; } .screen { width: 500px; height: 200px; overflow: hidden; position: relative; } .screen li { width: 500px; height: 200px; overflow: hidden; float: left; } .screen ul { position: absolute; left: 0; top: 0px; width: 3000px; } .all ol { position: absolute; right: 10px; bottom: 10px; line-height: 20px; text-align: center; } .all ol li { float: left; width: 20px; height: 20px; background: #fff; border: 1px solid #ccc; margin-left: 10px; cursor: pointer; } .all ol li.current { background: yellow; } #arr { display: none; } #arr span { width: 40px; height: 40px; position: absolute; left: 5px; top: 50%; margin-top: -20px; background: #000; cursor: pointer; line-height: 40px; text-align: center; font-weight: bold; font-family: '黑体'; font-size: 30px; color: #fff; opacity: 0.3; border: 1px solid #fff; } #arr #right { right: 5px; left: auto; } </style> </head> <body> <div class="all" id='box'> <div class="screen"> <ul> <li><img src="/UploadFiles/2021-04-02/1.jpg">补充:原生javascript实现banner图自动轮播切换
一般在做banner轮播图的时候都是用jquery,因为代码少,方便,不需要花费很长的时间去获取某个元素作为变量,然后再进行操作,只要一个$就搞定了。但是今天我用原生的javascript做了一下这个轮播效果,感觉还行,以下是部分js源代码,仅供参考!文章底部查看效果演示。
1、鼠标离开banner图,每隔2s切换一次;
2、鼠标滑过下方的小按钮,可以切换图片;
3、鼠标点击左右按钮,可以切换图片。
var oPic,oLi,anniu,aLi,aLength,num,timer,oG,_index,oSpan; window.onload = function(){ oPic = document.getElementsByClassName("pic")[0]; oLi = oPic.getElementsByTagName("li"); anniu = document.getElementsByClassName("anniu")[0]; aLi = anniu.getElementsByTagName("li"); aLength = aLi.length; num = 0; oG = document.getElementsByClassName("g")[0]; oSpan = oG.getElementsByTagName("span"); oLeft = oSpan[0]; oRight = oSpan[1]; start(); oG.onmouseover = end; oG.onmouseout = start; for(var j=0; j<aLength; j++){ aLi[j].index = j; aLi[j].onmouseover = change; } oRight.onclick = time; oLeft.onclick = times; } //自动轮播开始或结束 function start(){ timer = setInterval(time,2000); hide(); } function end(){ clearInterval(timer); show(); } //图片切换++ function time(){ for(var i=0; i<aLength; i++){ oLi[i].style.display = "none"; aLi[i].className = ""; } num++; num = num % 4; oLi[num].style.display = "block"; aLi[num].className = "on"; } //图片切换-- function times(){ for(var i=0; i<aLength; i++){ oLi[i].style.display = "none"; aLi[i].className = ""; } num--; num = (num+4)%4; oLi[num].style.display = "block"; aLi[num].className = "on"; } //鼠标滑过按钮,图片轮播 function change(){ _index = this.index; for(var k=0; k<aLength; k++){ aLi[k].className = ""; oLi[k].style.display = "none"; } aLi[_index].className = "on"; oLi[_index].style.display = "block"; } //左右按钮显示或隐藏 function show(){ oSpan[0].style.display = "block"; oSpan[1].style.display = "block"; } function hide(){ oSpan[0].style.display = "none"; oSpan[1].style.display = "none"; }以上所述是小编给大家介绍的使用原生的javascript来实现轮播图,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
下一篇:从零学习node.js之mysql数据库的操作(五)