首页 > 开发 > JS > 正文

ie6使用js支持hover伪类

2024-09-06 12:40:56
字体:
来源:转载
供稿:网友

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>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表