因为IE 7+支持:hover,因此使用条件注释,只针对IE 6-调用该JS文件。
<!--[if lte IE 6]>
<script type="text/JavaScript" language="Javascript" src="hover.js"></script>
<![endif]-->
JS代码如下
var W3CDOM = (document.createElement() && document.getElementsByTagName()); window.onload = pinballEffect;function pinballEffect() { if (!W3CDOM) return; var allElements = document.getElementsByTagName("*"); var originalBackgrounds=new Array(); for (var i=0; i<allElements.length; i++) { if (allElements[i].className.indexOf("hovereffect") >= 0) { allElements[i].onmouseover = mouseGoesOver; allElements[i].onmouseout = mouseGoesOut; } } }function mouseGoesOver() { originalClassNameString = this.className; this.className += " lay-on"; }function mouseGoesOut() { this.className = originalClassNameString; } pinballEffect();
CSS代码如下
/* 这个是普通样式,定义给需要效果的元素 */ .hovereffect { border:1px solid blue; } /* 这个是hover样式 */ .hovereffect:hover, .lay-on { background: #eee; border:1px solid red; }
大概的意思,就是通过JS,在鼠标经过hovereffect类别元素时,增加一个lay-on类别,然后给这个类别增加样式,从而实现类似于:hover的效果。
注意:可根据需求自己修改。
<ul> <li class="hovereffect">鼠标经过这个元素时,增加lay-on类别</li> </ul>