Soy nuevo en jQuery y tengo algo de experiencia con Prototype. En Prototype, hay un método para "flashear" un elemento, es decir. resáltelo brevemente en otro color y haga que vuelva a la normalidad para que el ojo del usuario se sienta atraído por él. ¿Existe tal método en jQuery? Veo fadeIn, fadeOut y animar, pero no veo nada como "flash". ¿Quizás uno de estos tres se puede usar con las entradas apropiadas?
249
$.fn.flash = function(times, duration) { var T = this; times = times || 3; duration = duration || 200; for ( var i=0; i < times; i++ ) { (function() { setTimeout(function() { T.fadeOut(duration, function() { T.fadeIn(duration); }); }, i*duration*2+50); })(i); } };
text-decoration:blink
luego elimínelo.Respuestas:
Mi manera es .fadein, .fadeout .fadein, .fadeout ......
Mostrar fragmento de código
fuente
$('..').delay(100).fadeOut().fadeIn('slow')
var $someElement = $("#someElement"); $someElement.fadeIn(100, function(){ $someElement.fadeOut(100, function(){ /*...etc...*/ }) })
Puede usar el complemento jQuery Color .
Por ejemplo, para llamar la atención sobre todos los divs en su página, puede usar el siguiente código:
Editar: nuevo y mejorado
A continuación se utiliza la misma técnica que la anterior, pero tiene los beneficios adicionales de:
Extienda el objeto jQuery:
Ejemplo de uso:
fuente
Note: The jQuery UI project extends the .animate() method by allowing some non-numeric styles such as colors to be animated.
- Si desea animar el color, NECESITA jQuery UI o algún otro complemento.Puedes usar animaciones css3 para flashear un elemento
Y jQuery para agregar la clase
fuente
@keyframes
yanimation
reglas normales , por lo que no es necesario usar ninguna versión prefijada además de tal vez-webkit-
(para el navegador Blackberry).Después de 5 años ... (y no se necesita ningún complemento adicional)
Éste lo "pulsa" al color que desea (por ejemplo, blanco) al colocar un color de fondo div detrás de él y luego desvanecer el objeto y volverlo a colocar .
Objeto HTML (por ejemplo, botón):
jQuery (vainilla, no hay otros complementos):
elemento - nombre de clase
primer número en
fadeTo()
milisegundos para la transiciónsegundo número en
fadeTo()
- opacidad del objeto después de desvanecimiento / desvanecimientoPuede consultar esto en la esquina inferior derecha de esta página web: https://single.majlovesreg.one/v1/
Edite (willsteel) sin selector duplicado usando $ (this) y valores ajustados para realizar un flash de forma aguda (como lo solicitó el OP).
fuente
fadeTo(0000)
- Metallica$.fn.flashUnlimited=function(){$(this).fadeTo('medium',0.3,function(){$(this).fadeTo('medium',1.0,$(this).flashUnlimited);});}
Entonces puede llamarlo así$('#mydiv').flashUnlimited();
: hace lo que Majal respondió anteriormente y se llama a sí mismo al final del ciclo.Supongo que podría usar el efecto de resaltado en jQuery UI para lograr lo mismo.
fuente
Si está utilizando jQueryUI, hay una
pulsate
función enUI/Effects
http://docs.jquery.com/UI/Effects/Pulsate
fuente
pulsate
Funciona bien en Chrome.fuente
fadeIn
yfadeOut
afecta a otros elementos hermanos porque alterna ladisplay
propiedad css , en mi caso, se ve raro. Pero este soluciona el problema. Gracias, funciona elegantemente como un encanto.Puede usar este complemento (póngalo en un archivo js y úselo a través de la etiqueta de script)
http://plugins.jquery.com/project/color
Y luego usa algo como esto:
Esto agrega un método 'flash' a todos los objetos jQuery:
fuente
Puede ampliar aún más el método de Desheng Li permitiendo que un recuento de iteraciones haga múltiples flashes de la siguiente manera:
Luego puede llamar al método con una hora y número de flashes:
fuente
var iterationDuration = Math.floor(duration / iterations);
para poder dividir por números impares y lo hizoreturn this;
para poder encadenar otros métodos después de él.Pura solución jQuery.
(no se necesita jquery-ui / animate / color).
Si todo lo que quiere es ese efecto amarillo "flash" sin cargar el color jquery:
El script anterior simplemente hace un desvanecimiento amarillo de 1s, perfecto para que el usuario sepa que el elemento se actualizó o algo similar.
Uso:
fuente
Esta puede ser una respuesta más actualizada y es más corta, ya que las cosas se han consolidado un poco desde esta publicación. Requiere jquery-ui-effect-highlight .
http://docs.jquery.com/UI/Effects/Highlight
fuente
¿Qué tal una respuesta realmente simple?
$('selector').fadeTo('fast',0).fadeTo('fast',1).fadeTo('fast',0).fadeTo('fast',1)
Parpadea dos veces ... eso es todo amigos!
fuente
No puedo creer que esto no esté en esta pregunta todavía. Todo lo que tienes que hacer:
Esto hace exactamente lo que quieres que haga, es muy fácil, funciona para ambos
show()
y para loshide()
métodos.fuente
Sería un
efecto de pulso(sin conexión) ¿El complemento JQuery es apropiado para lo que estás buscando?Puede agregar una duración para limitar el efecto del pulso a tiempo.
Como mencionó JP en los comentarios, ahora está su plugin de pulso actualizado .
Ver su repositorio de GitHub . Y aquí hay una demostración .
fuente
fuente
Encontré muchas lunas más tarde, pero si a alguien le importa, parece que esta es una buena manera de hacer que algo parpadee permanentemente:
fuente
Los siguientes códigos me funcionan. Defina dos funciones de aparición y desaparición gradual y colóquelas en la devolución de llamada del otro.
Lo siguiente controla los tiempos de los flashes:
fuente
Estaba buscando una solución a este problema pero sin depender de jQuery UI.
Esto es lo que se me ocurrió y funciona para mí (sin complementos, solo Javascript y jQuery); - Aquí está el violín de trabajo - http://jsfiddle.net/CriddleCraddle/yYcaY/2/
Establezca el parámetro CSS actual en su archivo CSS como CSS normal, y cree una nueva clase que solo maneje el parámetro para cambiar, es decir, el color de fondo, y configúrelo en '! Important' para anular el comportamiento predeterminado. Me gusta esto...
Luego, use la función a continuación y pase el elemento DOM como una cadena, un número entero para la cantidad de veces que desea que ocurra el flash, la clase a la que desea cambiar y un número entero para el retraso.
Nota: Si pasa un número par para la variable 'veces', terminará con la clase con la que comenzó, y si pasa un número impar, terminará con la clase conmutada. Ambos son útiles para diferentes cosas. Uso la 'i' para cambiar el tiempo de retraso, o todos dispararían al mismo tiempo y el efecto se perdería.
fuente
Al igual que fadein / fadeout, puede usar animar css / delay
Simple y flexible
fuente
3000 son 3 segundos
Desde la opacidad 1 se desvaneció a 0.3, luego a 1 y así sucesivamente.
Puedes apilar más de estos.
Solo se necesita jQuery. :)
fuente
Hay una solución para el error de fondo animado. Esta esencia incluye un ejemplo de un método simple de resaltado y su uso.
https://gist.github.com/1068231
fuente
Si incluir una biblioteca es excesivo, aquí hay una solución que está garantizada para funcionar.
Disparador de evento de configuración
Establecer el color de fondo del elemento de bloque
Dentro de setTimeout usa fadeOut y fadeIn para crear un pequeño efecto de animación.
Dentro del segundo setTimeout restablecer el color de fondo predeterminado
Probado en algunos navegadores y funciona muy bien.
fuente
Lamentablemente, la respuesta principal requiere JQuery UI. http://api.jquery.com/animate/
Aquí hay una solución vainilla JQuery
http://jsfiddle.net/EfKBg/
JS
CSS
HTML
fuente
flash
un objeto jQuery, funciona bien.var flash = $("<div class='flash'></div>"); $(".hello").prepend(flash); flash.show().fadeOut('slow');
Aquí hay una versión ligeramente mejorada de la solución de colbeerhey. Agregué una declaración de devolución para que, en forma jQuery verdadera, encadenemos eventos después de llamar a la animación. También he agregado los argumentos para borrar la cola y saltar al final de una animación.
fuente
Este pulsará el color de fondo de un elemento hasta que se active un evento de mouseover
fuente
Arme esto de todo lo anterior: una solución fácil para flashear un elemento y volver al color original bg ...
Usar así:
¡Espero que esto ayude!
fuente
eval
!Aquí hay una solución que utiliza una combinación de animaciones jQuery y CSS3.
http://jsfiddle.net/padfv0u9/2/
Esencialmente, comienza cambiando el color a su color "flash", y luego usa una animación CSS3 para dejar que el color se desvanezca. Debe cambiar la duración de la transición para que el "destello" inicial sea más rápido que el desvanecimiento.
Donde las clases CSS son las siguientes.
fuente
solo da elem.fadeOut (10) .fadeIn (10);
fuente
Esto es lo suficientemente genérico como para que pueda escribir el código que desee animar. Incluso puede disminuir el retraso de 300ms a 33ms y desvanecer colores, etc.
fuente
puede usar el complemento jquery Pulsate para forzar a centrar la atención en cualquier elemento html con control sobre la velocidad, la repetición y el color.
JQuery.pulsate () * con Demos
inicializador de muestra:
fuente