jQuery Hover和IE

时间:2011-01-12 11:48:11

标签: jquery internet-explorer google-chrome hover

我正在失去我的发际线而不是那些可能很小的东西。如果你比较this website 在使用IE浏览器的Chrome / Firefox中,您会注意到如果将鼠标悬停在每个条目上,在Chrome / FF中它将获得轻微的绿色背景,而在IE中,zilch / nada / zero / zippo ......

编码联谊会中的任何人都可以给出一些指示吗?不可否认,jQuery不是我的强项,而这正是代码有助于悬停效应:

$('div.availableNowListing').hover( function() {
    $(this).addClass('focus');
}, function() {
    $(this).removeClass('focus');
});

和CSS:

div.availableNowListingCatHeading {
    display: none;
    border: 1px solid #e6e6e6;
    margin-top: 20px;
    overflow: hidden;
    background-color: #efefef;}

div.availableNowListingCatHeading h3 {
    float: left;
    margin-left: 80px;
    margin-top: 20px;}

div.availableNowListingCatHeading img {
    margin: 5px;
    float: left;
    border: 1px solid #e3e3e3;}

.focus {
    background-color: #dbfcab;}

提前感谢您看一眼:)

2 个答案:

答案 0 :(得分:5)

我猜是因为你将div.availableNowListing内的元素浮动,因此div.availableNowListing没有得到任何高度。

overflow: hidden上设置css属性div.availableNowListing并尝试一下。

..弗雷德里克

答案 1 :(得分:4)

问题在于

header = $(this).find('div.availableNowListingCatHeading');

线。

你有一个ID为header的div,它会混淆IE(将变量视为元素的快捷方式。
这会导致IE尝试将某些内容分配给失败的en元素并在那里停止您的脚本。 ( focus类永远不会被分配

只需在开头添加var如果您想对其执行某些操作,或者如果它是剩余的则完全删除该行)..

var header = $(this).find('div.availableNowListingCatHeading');