JQuery Hover и IE - PullRequest
       21

JQuery Hover и IE

2 голосов
/ 12 января 2011

Я теряю свою линию волос из-за чего-то, что, вероятно, минута. Если вы сравните этот сайт в Chrome / Firefox с IE вы заметите, что если навести указатель мыши на каждую запись, в 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 ]

5 голосов
/ 12 января 2011

Я думаю, это из-за того, что div.availableNowListing не получает никакой высоты, так как вы перемещаете элементы внутри div.availableNowListing.

Установите свойство css overflow: hidden на div.availableNowListing и попробуйте его.

.. Фредрик

4 голосов
/ 12 января 2011

Проблема в строке

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

.

У вас есть div с идентификатором header, и это сбивает с толку IE (, который рассматривает переменную как ярлыкк элементу. )
Это заставляет IE пытаться назначить что-то элементу en, который завершается неудачно и останавливает ваш скрипт там.( класс focus никогда не назначается )

Просто добавьте var в начале (, если вы хотите что-то с ним сделать, или полностью удалите строку, если онэто остаток ) ..

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