jQuery fadeIn, efeitos fadeOut no IE

votos
4

O abaixo fadeIn , fadeOut efeito funciona bem no Firefox 3.0, mas ele não funciona no IE 7 ... Whay é isso e qual é o truque? A idéia é, naturalmente, para obter um efeito de piscar e atrair a atenção do usuário para uma linha específica em uma tabela.

function highLightErrorsAndWarnings() {
            $(.status-error).fadeIn(100).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300);
            $(.status-warning).fadeIn(100).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300);
        }

Update: Encontrado o problema estúpido ... .status-erro aponta para um tr-elemento. É possível o conjunto do background-color e fade-lo em um pa no Firefox, mas não no IE. Alterar o ponteiro CSS para .status de erros td tornou apontar para o td abaixo do tr e tudo funcionou em todos os navegadores.

Publicado 09/12/2008 em 16:23
fonte usuário
Em outras línguas...                            


3 respostas

votos
5

Estranho .. não poderia dizer por que você está recebendo esse problema, mas talvez tentar o plugin efeito pulsar? http://docs.jquery.com/UI/Effects/Pulsate

Respondeu 09/12/2008 em 17:59
fonte usuário

votos
1

Eu tenho um problema semelhante, mas não posso selecionar o td de vez por várias razões.

Se você também são afetados que você pode tentar usar programa em vez de fadeIn. Desde que eu estou usando o fadeTo semelhante quebrado isso não quer me ajudar :(

Há um bug jQuery aberta aqui - http://dev.jquery.com/ticket/5451

Se for afectado por favor comente no bilhete.

Respondeu 24/12/2009 em 18:16
fonte usuário

votos
1

Bem, eu tenho experimentado com várias maneiras para resolver este problema. A down and dirtyabordagem que eu uso é detectar de fundo e cor de primeiro plano no texto e apenas animar o div/span/etccom mudança de cor.

Este trecho irá "pulsar" o texto uma vez (você pode criar uma função que faz isso mais vezes por:

$.fn.crossBrowserPulsate = function() {
    var startColor = $(this).css("background-color");
    var endColor = $(this).css("color");

    $(this).animate({color:startColor},500,
     function() {
      $(this).animate({color:endColor},500,
       ...
      )}
    );
}
Respondeu 31/01/2010 em 05:20
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more