2009-10-21 3 views
0

У меня есть div, чтобы показать сообщение, я хочу, чтобы сообщение появилось в течение нескольких секунд, а затем просто исчезло, пока оно не исчезнет.эффект подсветки jquery с режимом скрытия не работает на IE

Я просто определяю нормальный div и скрываю его, когда страница загружается с $ ('# mydiv'). Hide();

У меня есть кнопка, чтобы показать DIV с желаемым эффектом, для этого я использую:

$('#myDiv').fadeIn('fast').effect("highlight", { color: "green", mode:"hide" }, 5000); 

Это отлично работает на Firefox и Chrome, но в IE (пробовал на 6, 7 и 8) он работает только в первый раз, после чего он не покажет сообщение.

Если в IE нет способа достичь этого, я хотел бы знать, как я могу сделать fadeOut или что-то подобное ПОСЛЕ окончания подсветки.

Спасибо за вашу помощь

ответ

2

Похоже, что это jQuery ticket связано с вашей проблемой.

Обходной я нашел, чтобы добавить

$('#myDiv').removeAttr('style'); 

перед тем

$('#myDiv').fadeIn('fast') 
      .effect("highlight", { color: "green", mode:"hide" }, 5000); 

очистить проблему фильтра IE.

1

Вообще говоря, я не цепляю эффекты. Вы, вероятно, хотите использовать функцию обратного вызова вместо:

$('#myDiv').fadeIn('fast', function() { 
    $(this).effect("highlight", { color: "green", mode:"hide" }, 5000); 
}); 
+0

fadeIn работает нормально, используя его прикованный, о обратном вызове, это именно то, что я искал, я не знал, что могу добавить обратный вызов в качестве четвертого аргумента метода эффекта, который сделал трюк (вместо этого из режима использования: «hide» Я использую метод hide() в обратном вызове. Спасибо! – willvv

+0

Мои эффекты происходили в то же время из-за их цепочки и переключения на обратный вызов. – johntrepreneur