<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>onmouseover+get/setAttribute</title> <style> *{ margin: 0; padding: 0; } ul{ list-style: none; } ul li{ width: 50px; height: 50px; margin-top: 10; margin-left: 10px; float: left; text-align: center; line-height: 50px; overflow: hidden; } ul li.active{ border: 1px solid red; } </style> </head> <body> <img src="../images/img01.jpg" id="imgBig" width="300" height="300" > <ul> <li class="active"><a href=""><img src="../images/img01.jpg" width="45" height="45" class="imgSmall"></a></li> <li><a href=""><img src="../images/img02.jpg" width="45" height="45" class="imgSmall"></a></li> <li><a href=""><img src="../images/img03.jpg" width="45" height="45" class="imgSmall"></a></li> <li><a href=""><img src="../images/img04.jpg" width="45" height="45" class="imgSmall"></a></li> <li><a href=""><img src="../images/img05.jpg" width="45" height="45" class="imgSmall"></a></li> </ul> <script> //1. 准备事件源 let imgBig=document.getElementById("imgBig"); let imgSmalls=document.getElementsByClassName("imgSmall"); //2. 遍历集合, for (let i = 0; i < imgSmalls.length; i++) { //2.1 为小图片注册鼠标悬停事件 imgSmalls[i].onmouseover=function(){ //2.2 内部遍历 清空class 属性 for (let j = 0; j < imgSmalls.length; j++) { imgSmalls[j].parentNode.parentNode.setAttribute("class",""); } // 遍历获取每一个小图的src 赋值给大图的src 效果呈现:大图随着小图改变 let imgSrc=this.getAttribute("src"); console.log(imgSrc); imgBig.setAttribute("src",imgSrc); // 2.3 为每个li设置class="active" 鼠标悬停 边框变红 this.parentNode.parentNode.setAttribute("class","active"); } } </script> </body> </html>
javascript-demo01-onmouseover-鼠标悬停事件
原文:https://www.cnblogs.com/ABC-wangyuhan/p/14541451.html