Eu gostaria de implementar algo semelhante ao efeito Yellow Fade da 37Signals.
Estou usando o Jquery 1.3.2
O código
(function($) {
$.fn.yellowFade = function() {
return (this.css({backgroundColor: "#ffffcc"}).animate(
{
backgroundColor: "#ffffff"
}, 1500));
}
})(jQuery);
e a próxima chamada mostra o esmaecimento amarelo do elemento DOM com a identificação da caixa .
$("#box").yellowFade();
Mas isso só o torna amarelo. Nenhum fundo branco após 15.000 milissegundos.
Alguma ideia de por que não está funcionando?
Solução
Você pode usar:
$("#box").effect("highlight", {}, 1500);
Mas você precisa incluir:
Respostas:
Esta função faz parte do jQuery effects.core.js :
Como Steerpike apontou nos comentários, effects.core.js e effects.highlight.js precisam ser incluídos para usar isso.
fonte
Adorei a resposta de Sterling Nichols, já que era leve e não exigia um plugin. No entanto, descobri que não funcionava com elementos flutuantes (ou seja, como quando o elemento é "float: right"). Então, reescrevi o código para exibir o destaque adequadamente, não importa como o elemento está posicionado na página:
Opcional:
use o seguinte código se você também quiser corresponder o raio da borda do elemento:
fonte
A biblioteca de efeitos jQuery adiciona um pouco de sobrecarga desnecessária ao seu aplicativo. Você pode realizar a mesma coisa apenas com jQuery. http://jsfiddle.net/x2jrU/92/
fonte
.width(el.outerWidth())
e.height(el.outerHeight())
para destacar todos os campos do meu formulário.Defina seu CSS da seguinte maneira:
E basta adicionar a classe
yft
a qualquer item$('.some-item').addClass('yft')
Demonstração: http://jsfiddle.net/Q8KVC/528/
fonte
Deve fazer o truque. Defina-o como amarelo e, em seguida, esmaeça para branco
fonte
Acabei de resolver um problema semelhante a este em um projeto em que estava trabalhando. Por padrão, a função animar não pode animar cores. Tente incluir animações em cores jQuery .
Todas as respostas aqui usam este plugin, mas ninguém o menciona.
fonte
Na verdade, tenho uma solução que só precisa de jQuery 1.3x, e nenhum plugin adicional.
Primeiro, adicione as seguintes funções ao seu script
Em seguida, chame a função usando:
Vou deixar você adivinhar os parâmetros, eles são bastante autoexplicativos. Para ser honesto, o script não é meu, eu o peguei em uma página e mudei para que funcione com o jQuery mais recente.
NB: testado no firefox 3 e ie 6 (sim, funciona naquela coisa antiga também)
fonte
A linha
this.style.removeAttribute('filter')
é para um bug de anti-aliasing no IE.Agora, chame YellowFade de qualquer lugar e passe seu seletor
Crédito : Phil Haack teve uma demonstração mostrando exatamente como fazer isso. Ele estava fazendo uma demonstração em JQuery e ASPNet MVC.
Dê uma olhada neste vídeo
Atualização : Você deu uma olhada no vídeo? Esqueci de mencionar que isso requer o plugin JQuery.Color
fonte
Eu odiava adicionar 23kb apenas para adicionar effects.core.js e effects.highlight.js, então escrevi o seguinte. Ele emula o comportamento usando fadeIn (que faz parte do próprio jQuery) para 'piscar' o elemento:
em seguida, chame-o com $ ('. item'). faderEffect ();
fonte
esta é a minha solução para o problema. funciona excelente. ele passa na validação de erro do jslint e também funciona decentemente no IE8 e no IE9. Claro que você pode ajustá-lo para aceitar códigos de cores e retornos de chamada:
fonte
Esta é uma opção não jQuery que você pode usar para o efeito de esmaecimento da cor. Na matriz "cores", você adiciona as cores de transição necessárias desde a cor inicial até a última cor. Você pode adicionar quantas cores quiser.
fonte
Se você quiser tentar uma técnica alternativa de esmaecimento do amarelo que não dependa do jQuery UI .effect, poderá posicionar um div amarelo (ou de outra cor) atrás do seu conteúdo e usar jQuery .fadeOut ().
http://jsfiddle.net/yFJzn/2/
fonte
Eu simplesmente usei ...
fonte
Um script simples / bruto para um "fadeout amarelo", sem plug-ins, exceto o próprio jquery . Apenas definindo o fundo com rgb (255,255, realcecolor) em um cronômetro:
fonte