JS效果完美解决IE6不支持li:hover悬浮的问题

网页上LI列表和DD都可以带上鼠标触及改变背景颜色的效果,设置方式例如:p:hover , li:hover , dd:hover 代码,这样就可以让鼠标悬浮出效果,但是这种代码经过测试在IE6是不支持的,因此需要一段JS代码来支持:

一下是JS代码,其中nav是CSS里的ID编码代码...

  1. lihover = function() {   
  2.     var sfEls = document.getElementById("nihao").getElementsByTagName("li");   
  3.     for (var i = 0; i < sfEls.length; i++) {   
  4.         sfEls[i].onmouseover = function() {   
  5.             this.className += "lihover"   
  6.         }   
  7.         sfEls[i].onmouseout = function() {   
  8.             this.className = this.className.replace(new RegExp("lihover\\b"), "")   
  9.         }   
  10.     }   
  11. }   
  12. if (window.attachEvent) window.attachEvent("onload",lihover);   

然后编写CSS代码:

  1. .nihao{width:600px;margin:0px auto;} 
  2. .nihao ul li{width:580px;height:30px;margin-bottom:1px;margin-top:1px;list-style:none;background:#efefef;} 
  3. .nihao ul li:hover{background:green;} 
  4. .nihao ul li.lihover{background:green;} 

最后是HTML代码:

  1. <p class="nihao"> 
  2.     <ul id="nav"> 
  3.         <li></li> 
  4.         <li></li> 
  5.         <li></li> 
  6.         <li></li> 
  7.         <li></li> 
  8.         <li></li> 
  9.         <li></li> 
  10.         <li></li> 
  11.         <li></li>        
  12.     </ul> 
  13. </p> 

演示预览效果如下:

无锡网站建设 我要咨询建站 >