2013-05-07 3 views
1

У меня возникла проблема с выполнением кода в ЛЮБОЙ версии IE. ДИВ, который должен быть показ просто не появляется при наведении курсора мыши на всех ...jQuery hover для установки позиции слева не работает в IE?

$('.trigger').hover(function() { 
    $(this).css({'height':'390px','width':'475px'}); 
    $(this).find('.preview_window').css('left', '0px'); 
}, 
function(){ 
    $(this).css({'height':'29px','width':'29px'}); 
    $(this).find('.preview_window').css('left', '-9999px'); 
} 
); 

Это должно быть что-то действительно глупое ... видя, как он работает на все, кроме IE через доску. Может ли кто-нибудь пролить свет?

+0

Почему вы не просто все это делаете в CSS? поскольку все, что вы делаете, - это изменение информации о CSS. – Andrew

+0

У меня возникали некоторые проблески, когда все было установлено в CSS. (опять же, только в IE) Еще страннее, чем моя проблема сейчас. – Sean

ответ

0

ОКАЗЫВАЕТСЯ IE просто не нравится где я помещал разрывы строк в функции ...

Вот измененный код, который IE, по-видимому, может понять лучше.

$('.trigger').hover(function() { 
    $(this).css({'height':'390px','width':'475px'}); 
    $(this).find('.preview_window').css('left', '0px'); 
},function(){ //This was also on two lines before 
    $(this).css({'height':'29px','width':'29px'}); 
    $(this).find('.preview_window').css('left', '-9999px'); 
}); // This was on two lines before 

Я знал, что это было что-то глупое. Сейчас все работает. =/

0

Я думаю, вы должны добавить атрибут позиции в этом DIV:

preview_window { 
    position: relative; 
} 
+0

Он уже установлен в CSS. – Sean

+0

Возможно, вы могли бы попробовать функции jquery hide() и show() вместо того, чтобы играть с позицией ... –

+0

Я фактически изменил его из hide/show из-за ошибки отображения в IE. У меня есть карта google внутри отображаемого div, и поскольку она скрыта при загрузке страницы, она не меняет карту сразу после ее отображения, а вывод не центрируется. (он находится в верхнем левом углу, потому что он считает, что он имеет размер 0x0). В более старом IE карта вообще не отображается. – Sean

0

Вы, возможно, потребуется конкретно определить метод позицию так:

$('.trigger').hover(function() { 
    $(this).css({'height':'390px','width':'475px'}); 
    $(this).find('.preview_window').css({'position':'absolute','left':'0px'}); 
}, 
function(){ 
    $(this).css({'height':'29px','width':'29px'}); 
    $(this).find('.preview_window').css({'position':'absolute','left':'-9999px'}); 
}); 
+0

, что стиль установлен в CSS. – Sean

Смежные вопросы