Quiero hacer una imagen más oscura si pasa el mouse sobre ella. ¿Es posible cambiar el matiz, la saturación o la gamma de un img con JQuery (o Javascript)?JQuery cambiar el tono, la saturación, la gama de <img>?
Respuesta
¿Has probado PaintbrushJS o Pixastic biblioteca?
No es posible hacer esto utilizando solamente JavaScript (ya que no puede manipular archivos binarios), sin embargo se puede hacer esto con el elemento HTML5 <canvas>
para ayudar.
Take a look here, hay algunas bibliotecas para ayudar.
Si lo que desea es que se desvanecen, cambiar la opacidad en vuelo estacionario, por ejemplo:
$("img").css({ opacity: 0.5 }).hover(function() {
$(this).animate({ opacity: 1 });
}, function() {
$(this).animate({ opacity: 0.5 });
});
Mostrar y ocultar una semitransparente negro <div>
sobre la parte superior de la imagen.
Ampliando la sugerencia de Marcelo, podría obtener una copia de su imagen en la etapa final más oscura, colocarla encima del original y variar su opacidad con el mouse sobre el mouse, como dijo Nick. Este método le permite hacer cualquier cosa con la transición de la imagen: cambie su matiz, saturación, etc. Se puede encontrar un código simple de animación de desvanecimiento de Javascript here.
Usted puede hacer esto en CSS
IMG:hover
{
-ilter: brightness(0.7);
-webkit-filter: brightness(0.7);
-moz-filter: brightness(0.7);
-o-filter: brightness(0.7);
-ms-filter: brightness(0.7);
}
Hay un montón de otros filtros como el desenfoque, saturar, contraste, ...
easely puede usar jQuery para cambiar el css si lo desea.
Arreglo este prototipo que usa una solución de CSS multiproveedor para animar la saturación de la imagen al pasar el mouse. Hay muchas maneras de hacerlo en JS/jQuery, pero ¿por qué no hacerlo en CSS?
img[class*="filter-resat"] {
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); // For Firefox 10+
filter: gray; // For IE 6+
-webkit-filter: grayscale(100%); // for Chrome & Safari
// Now we set the opacity
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; // for IE
filter: alpha(opacity=40); // Chrome + Safari
-moz-opacity: 0.6; // Firefox
-khtml-opacity: 0.6; // Safari pre-webkit
opacity: 0.6; // Modern
// Now we set up the transition
-webkit-transition: all 1.0s ease;
-webkit-backface-visibility: hidden;
}
img[class*="filter-resat"]:hover {
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale");
-webkit-filter: grayscale(0%);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
-moz-opacity: 1;
-khtml-opacity: 1;
opacity: 1;
}
// You can leave this part out and the above code will default to a 1 second transition duration.
img.filter-resat9 {-webkit-transition: all .9s ease;}
img.filter-resat8 {-webkit-transition: all .8s ease;}
img.filter-resat7 {-webkit-transition: all .7s ease;}
img.filter-resat6 {-webkit-transition: all .6s ease;}
img.filter-resat5 {-webkit-transition: all .5s ease;}
img.filter-resat4 {-webkit-transition: all .4s ease;}
img.filter-resat3 {-webkit-transition: all .3s ease;}
img.filter-resat2 {-webkit-transition: all .2s ease;}
img.filter-resat1 {-webkit-transition: all .1s ease;}
Esto necesita muchos más votos hacia arriba. ¡Esto es increíble! – helgatheviking
Gracias! No creo que sea una respuesta viable porque no es JQuery. –
¿Por qué usar un script si puede obtener el mismo efecto con CSS? De todos modos, lo estoy usando ahora y bombeado que encontré esto. Volvería a votar nuevamente si pudiera. :) – helgatheviking
- 1. Algoritmo para la capa de ajuste de tono/saturación de Photoshop
- 2. ¿Cómo puedo cambiar la saturación de un UIImage?
- 3. Cambiar el tamaño de la imagen con GDI en .NET da baja saturación
- 4. ¿Cómo cambiar los valores de saturación con opencv?
- 5. ¿Cómo cambiar el tono de una textura con GLSL?
- 6. Python: Cambiar el tono del archivo de audio
- 7. Cambiar la ubicación de la ventana Jquery
- 8. Cambiar la imagen png blanca a un color específico
- 9. Búsqueda en la gama CouchBase
- 10. C++ constructor de la clase de gama
- 11. ¿Disminuye la velocidad de reproducción de un archivo de audio sin cambiar su tono?
- 12. En la inicialización de std :: gama
- 13. jQuery de palanca para cambiar la imagen
- 14. ancho de alternar cambiar el tamaño de la animación - jquery
- 15. jQuery datepicker - cambiar la fecha de "hoy"?
- 16. Enviar gama parámetro con jQuery ajax/carga
- 17. Cambiar la posición de fondo con jQuery
- 18. ¿Cambiar la animación de jquery show()/hide()?
- 19. Cómo cambiar el orden de la etiqueta html usando jquery
- 20. jQuery cambiar el tamaño a la relación de aspecto
- 21. jQuery UI Posición: Al cambiar el tamaño de la ventana
- 22. Android audio: cambie el tono
- 23. ¿Cómo cambiar las opciones de <select> con jQuery?
- 24. Reconociendo el tono del audio
- 25. JQuery: Cambiar la altura según otro elemento
- 26. Jquery para cambiar la acción del formulario
- 27. Cómo duplicar JQuery() y cambiar la identificación
- 28. Cambiar el ancho y la altura del control deslizante jQuery
- 29. LilyPond: extracción de nombres de tono de la música
- 30. Cómo silenciar mediante programación el timbre o cambiar el tono del timbre en iOS5
Esto todavía tiene muy poco apoyo. El IE actual y Firefox aún no lo admiten. Chrome, Safari y la mayoría de los navegadores móviles lo hacen. –
Esto no es compatible con varios navegadores –