您好,欢迎来到达网官方网站           客户ID 密码   注册 忘记密码?
达网
全国服务热线  
帮助中心 | 付款方式

解决IE6不支持除a标签以外的hover属性的问题(用于弹出导航的二级菜单)

IE6不支持除a标签以外的hover属性,我们了解hover属性是鼠标悬停效果。在IE7和FF中,对几乎任意元素都可以设置hover属性效果。而此属性效果的设置在IE6中,只对a标签有效,也就是说,IE6只能解释链接元素的悬停效果。其他元素的悬停效果IE6就不予处理了。 

可以通过Javascript代理的方式解决这一问题。
将下面代码(document.getElementById("nav") 中的nav改为你的悬停层的ID即可。

stuHover = function() {
    var cssRule;
    var newSelector;
    for (var i = 0; i < document.styleSheets.length; i++)
        for (var x = 0; x < document.styleSheets[i].rules.length; x++) {
        cssRule = document.styleSheets[i].rules[x];
        if (cssRule.selectorText.indexOf("LI:hover") != -1) {
            newSelector = cssRule.selectorText.replace(/LI:hover/gi, "LI.iehover");
            document.styleSheets[i].addRule(newSelector, cssRule.style.cssText);
        }
    }
    var getElm = document.getElementById("menu").getElementsByTagName("LI");
    for (var i = 0; i < getElm.length; i++) {
        getElm[i].onmouseover = function() {
            this.className += " iehover";
        }
        getElm[i].onmouseout = function() {
            this.className = this.className.replace(new RegExp(" iehover\\b"), "");
        }
    }
}
if (window.attachEvent) window.attachEvent("onload", stuHover);

举例
<div id="nav">
<ul><li>让IE6支持LI:HOVER的JS代码</li></ul>
</div>
Copyright 2006-2012 dw.net.cn 达网网络技术有限公司 版权所有
公司地址:宁波市大梁街118号世纪广场B座19楼1902室 [地图] 邮编:315000
中文域名:达网.cn  公司微博:weibo.com/dwnetwork  信产部备案号:浙ICP备09010049号
软件开发, 行业软件, 网站建设, 网站托管, 服务器技术  网站地图 RSS订阅