css2中規定,:hover偽類可以應用在全部元素上,而ie6只支持<a>的偽類,因此對于ie6需要使用js,而ie7/ff/op/sa直接定義:hover即可。
javascript文件
var VeVbcom = (document.createelement() && document.getelementsbytagname());
window.onload = pinballeffect;
function pinballeffect()
{
if (!VeVbcom) 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();
下面的代碼是html代碼,插入到head區內:
<!--[if lte ie 6]>
<script type="text/javascript" language="javascript" src="hover.js"></script>
<![endif]-->因為ie 7+支持:hover,因此使用條件注釋,只針對ie 6-調用該js文件。
相應的css為:
/* 這個是普通樣式,定義給需要效果的元素 */
.hovereffect {
border:1px solid blue;
}
/* 這個是hover樣式 */
.hovereffect:hover,
.lay-on {
background: #eee;
border:1px solid red;
}
應用:
<div class="hovereffect">div的hover</div>
<p class="hovereffect">p的hover</p>
新聞熱點
疑難解答