css2中规定,:hover伪类可以应用在全部元素上,而ie6只支持<a>的伪类,因此对于ie6需要使用js,而ie7/ff/op/sa直接定义:hover即可。8pzBeautyCss.org - 前端教程网
将一下代码保存为一个js文档。8pzBeautyCss.org - 前端教程网
var W3CDOM = (document.createElement() && document.getElementsByTagName());8pzBeautyCss.org - 前端教程网 window.onload = pinballEffect;8pzBeautyCss.org - 前端教程网 function pinballEffect()8pzBeautyCss.org - 前端教程网 {8pzBeautyCss.org - 前端教程网 if (!W3CDOM) return;8pzBeautyCss.org - 前端教程网 var allElements = document.getElementsByTagName('*');8pzBeautyCss.org - 前端教程网 var originalBackgrounds=new Array();8pzBeautyCss.org - 前端教程网 for (var i=0; i<allElements.length; i++)8pzBeautyCss.org - 前端教程网 {8pzBeautyCss.org - 前端教程网 if (allElements[i].className.indexOf('hovereffect') >= 0)8pzBeautyCss.org - 前端教程网 {8pzBeautyCss.org - 前端教程网 allElements[i].onmouseover = mouseGoesOver;8pzBeautyCss.org - 前端教程网 allElements[i].onmouseout = mouseGoesOut;8pzBeautyCss.org - 前端教程网 }8pzBeautyCss.org - 前端教程网 }8pzBeautyCss.org - 前端教程网 }8pzBeautyCss.org - 前端教程网 function mouseGoesOver()8pzBeautyCss.org - 前端教程网 {8pzBeautyCss.org - 前端教程网 originalClassNameString = this.className;8pzBeautyCss.org - 前端教程网 this.className += " lay-on";8pzBeautyCss.org - 前端教程网 }8pzBeautyCss.org - 前端教程网 function mouseGoesOut()8pzBeautyCss.org - 前端教程网 {8pzBeautyCss.org - 前端教程网 this.className = originalClassNameString;8pzBeautyCss.org - 前端教程网 }8pzBeautyCss.org - 前端教程网 pinballEffect();8pzBeautyCss.org - 前端教程网 |
8pzBeautyCss.org - 前端教程网下面的代码是html代码,插入到head区内:8pzBeautyCss.org - 前端教程网
<!--[if lte IE 6]>8pzBeautyCss.org - 前端教程网 <script type="text/javascript" language="Javascript" src="hover.js"></script>8pzBeautyCss.org - 前端教程网 <![endif]--> |
8pzBeautyCss.org - 前端教程网因为IE 7+支持:hover,因此使用条件注释,只针对IE 6-调用该JS文件。8pzBeautyCss.org - 前端教程网
相应的CSS为:8pzBeautyCss.org - 前端教程网
/* 这个是普通样式,定义给需要效果的元素 */8pzBeautyCss.org - 前端教程网 .hovereffect {8pzBeautyCss.org - 前端教程网 border:1px solid blue;8pzBeautyCss.org - 前端教程网 }8pzBeautyCss.org - 前端教程网 /* 这个是hover样式 */8pzBeautyCss.org - 前端教程网 .hovereffect:hover,8pzBeautyCss.org - 前端教程网 .lay-on {8pzBeautyCss.org - 前端教程网 background: #eee;8pzBeautyCss.org - 前端教程网 border:1px solid red;8pzBeautyCss.org - 前端教程网 } |
8pzBeautyCss.org - 前端教程网应用:8pzBeautyCss.org - 前端教程网
<div class="hovereffect">div的hover</div>8pzBeautyCss.org - 前端教程网 <p class="hovereffect">p的hover</p> |
8pzBeautyCss.org - 前端教程网8pzBeautyCss.org - 前端教程网