您的位置:首页 > Web前端 > JavaScript

IE6 JS 开发

2014-06-05 11:04 148 查看
前端开发中,常常会用到某个元素的hover伪类来实现鼠标滑过某元素时该元素展现某些效果,以丰富展现形式,同时也很好的提高用户体验,主流的浏览器都支持基本所有元素的hover伪类,

但是ie6就只支持a标签的hover伪类,这里介绍一种解决ie6常用的一种方式:

<script type="text/javascript">
<!--//--><![CDATA[//><!--
sfHover = function() {
if (!document.getElementsByTagName) return false;
var sfEls = document.getElementById("menu").getElementsByTagName("li");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
}
var sfEls = document.getElementById("topnav").getElementsByTagName("li");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
//--><!]]>
</script>


上面的代码让id为menu和topnav的两个元素在鼠标滑过该元素时,给子元素(这里是li)添加了sfHover样式。

jQuery可以更容易、更简洁的实现,代码如下:

jQuery(function ($) {
if ( jQuery.browser.msie && ( jQuery.browser.version == "6.0" ) && !jQuery.support.style ){
jQuery('需要加hover的元素').hover(function(){
jQuery(this).addClass('hover');
},function(){
jQuery(this).removeClass('hover');
});
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ie6 js hover