本文实例为大家分享了js实现鼠标切换图片的具体代码,供大家参考,具体内容如下
实现效果,可以利用鼠标移动在对应的小点点上,或者点击左右两侧的箭头切换图片,并在图片的上方显示出图片的页数,下方显示出对应图片的标题。
全部代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>图片切换</title> <style> .picture { position: relative; width: 500px; height: 333px; margin: 0 auto; border: 2px solid rgb(231, 127, 217); overflow: hidden; } .radius { width: 100%; height: 10px; position: absolute; bottom: 30px; text-align: center; } .pg { //图片上方页码 position: absolute; margin: 0; width: 100%; height: 20px; background-color: rgba(0, 0, 0, .4); text-align: center; font-size: 16px; font-weight: 600; color: #fff; } .title { position: absolute; width: 100%; bottom: 0px; text-align: center; font-size: 16px; font-weight: 600; color: rgb(21, 223, 72); } span { display: inline-block; border: 10px solid #fdfdfd; border-radius: 50%; } .active { border: 10px solid #656466; } /* 左右箭头 */ .arrowhead-left, .arrowhead-right { position: absolute; width: 41px; height: 69px; font-size: 30px; line-height: 70px; text-align: center; color: #D6D8D4; background-color: rgba(0,0,0,.3); } .arrowhead-left { left: 0; top: 40%; } .arrowhead-right { right: 0; top: 40%; } </style> </head> <body> <div class="picture"> <!-- 图片页码 --> <p class="pg">封面</p> <img src="./image/d8.jpeg" alt=""> <!-- 小圆点点 --> <p class="radius"></p> <!-- 图片的下面标题 --> <p class="title">标题</p> <!-- 左右箭头 --> <div class="arrowhead-left" id="al"> < </div> <div class="arrowhead-right" id="ar"> > </div> </div> <script> var address = ["./image/d1.jpeg", "./image/d2.jpeg", "./image/d3.jpeg", "./image/d4.jpeg", "./image/d5.jpeg", "./image/d7.jpeg"]; // var imgs = document.getElementsByTagName("img"); var imgs = document.querySelector("img"); var len = address.length; var str = ""; var pp = document.getElementsByTagName("p");//获取的是一个集合 // var pp = document.querySelector("p"); //获取的是一个元素 var al = document.getElementById("al"); var ar = document.getElementById("ar"); //添加span标签 for (i = 0; i < len; i++) { str += ' <span></span>' } console.log(str); console.log(pp); pp[1].innerHTML = str; var spans = pp[1].getElementsByTagName('span'); spans[0].className = 'active'; for (i = 0; i < len; i++) { spans[i].index = i; spans[i].onmouseover = function () { //所有圆点的类为空 for (i = 0; i < len; i++) { spans[i].className = ""; } this.className = 'active'; //给点击的span(圆点)添加类名 imgs.src = address[this.index]; pp[0].innerHTML = [this.index + 1] + "/6"; pp[2].innerHTML = "风光" + [this.index + 1]; } } var n = 0 ; ar.onclick = function () { for (i = 0; i < len; i++) { spans[i].className = ""; } spans[n].className = "active"; imgs.src = address[n]; pp[0].innerHTML = (n+1) + "/6"; pp[2].innerHTML = "风光" +(n+1); if (n<5) { n++; } else { n=0; } } al.onclick = function () { for (i = 0; i < len; i++) { spans[i].className = ""; } spans[n].className = "active"; imgs.src = address[n]; pp[0].innerHTML = (n+1) + "/6"; pp[2].innerHTML = "风光" +(n+1); if (n>0) { n--; } else {} n=(len-1); } } </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持站长技术。
如果你想了解React Navigation 5.x的基本的概念,可以查看我之前的发的一篇文章...
前言 有位朋友去阿里面试,他说面试官给了几条查询SQL,问:需要执行几次树搜索操...
说明 本章主要说明如何使用Magicodes.IE.Csv进行Csv导入导出. 关于Magicodes.IE ...
上传图片有两种方式: 1.fileReader 可以把图片解析成base64码的格式,简单粗暴 ...
按照惯例,先来段废话:CKEditor是新一代的FCKeditor,是一个重新开发的版本。CK...
当下,大数据方面的就业主要有三大方向: 一是数据分析类大数据人才, 二是系统...
phpstorm是由JetBrains公司开发的一款功能强大的PHP集成开发工具,可深刻理解用...
复制代码 代码如下: !--[if !IE]!-- 除IE外都可识别 !--![endif]-- !--[if IE] ...
整除 ASP(VBScript) 中整除用“\”,比如 m = 5 \ 2,结果为 2。 取余 ASP(VBScr...
在刚刚过去的 Flutter Engage 活动上,我们正式发布了 Flutter 2 : 为任何平台创...