鼠标离开导航栏以后,导航栏不会自动恢复,要点击了其他导航栏才恢复,怎么破?
<!DOCTYPE html> <html> <head> <title></title> <style type="text/css"> *{ padding: 0; margin: 0; font-family:Microsoft YaHei; text-decoration: none; margin: auto; } .main{width:1220px;height:500px;border:solid 0.001px #DDDDDD;margin-top: 10px; overflow: hidden; } nav{ width:1200px; line-height: 30px; text-align:center; display: block; position: relative; } nav>li{color: gray; float:left; width:300px; text-align:center; text-decoration: none; list-style-type: none; } .on,nav>li:hover{ background:#FFCC00; border-radius:5%; cursor:pointer; } .banner{width:1200px; height:460px; margin-top: 30px; } .banner-slide{ width: 1200px; height: 460px; position: absolute; background-repeat: no-repeat; display: none; } .slide-active{ display: block; } .slide1{ background: url(1.jpg); } .slide2{ background: url(3.jpg); } .slide3{ background: url(4.jpg); } .slide4{ background: url(5.jpg); } </style> </head> <body> <div class="main" id="main"> <header> <nav id="nav"> <li class="on"><a href="#">首页</a></li> <li><a href="#">点击看看</a></li> <li><a href="#">会自动的</a></li> <li><a href="#">我的网站</a></li> </nav> </header> <div class="banner" id="banner"> <a href=""> <div class="banner-slide slide1 slide-active"></div> </a> <a href=""> <div class="banner-slide slide2"></div> </a> <a href=""> <div class="banner-slide slide3"></div> </a> <a href=""> <div class="banner-slide slide4"></div> </a> </div> </div> <script type="text/javascript"> function byId(id){ return typeof(id)==="string"?document.getElementById(id):id; } //全局变量 var index=0, timer=null, img=byId("banner").getElementsByTagName("div"), nav=byId("nav").getElementsByTagName("li"), len=img.length; function slideImg(){ var main=byId("main"); //滑过清除定时器,离开继续 main.onmouseover =function(){ //滑过清除定时器 if(timer) clearInterval(timer); //if条件成立 且后面只有一句时 可以不加大括号 } main.onmouseout=function(){ timer=setInterval(function(){ index++; if(index >= len){index=0;} //切换图片 changeImg(); },2000); } //自动在main上触发鼠标滑过事件 main.onmouseout(); //遍历所有导航,且绑定事件,点击导航切换图片 for(var d=0;d<len;d++){ //给所有li添加一个id的属性,作为当前li的索引 nav[d].id=d; nav[d].onclick=function(){ //改变index为当前nav的索引 index=this.id; //导航栏随图片轮播 //调用切换图片的函数changImg,实现切换图片 changeImg(); } } } //切换图片 function changeImg(){ //遍历banner下所有div以及nav下所有li,将div隐藏,li清除 for(var i=0;i<len;i++){img[i].style.display="none";nav[i].className="";} //根据index索引找到当前div和当前li,将其显示出来和设为当前 img[index].style.display="block"; nav[index].className="on"; } slideImg(); </script> </body> </html>
29
收起
正在回答 回答被采纳积分+1
HTML5与CSS3实现动态网页 2018
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星