El método fadeTo () cambia gradualmente la opacidad, para los elementos seleccionados, a una opacidad específica (efecto de desvanecimiento).
La sintaxis es parecida a los 2 efectos anteriores fadeIn() y fadeOut()
$(elemento).fadeTo(speed,opacity,easing,callback)
<!DOCTYPE html> <html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>$(document).ready(function(){
$("button").click(function(){
$("img").fadeTo(1000, 0.4);
});
});
</script>
</head>
<body>
<button>Cambia gradualmente la opacidad de la foto</button>
<img src="imagenes/prueba.jpg" style="max-width:100%;width:auto;height:auto;">
</body>
</html>
El método fadeTo puede modificar la opacidad de un elemento, el efecto es llevar la opacidad actual hasta el valor que le pasamos al método fadeTo
Podemos inicializar este método de las siguientes formas:
fadeTo([velocidad],[valor de opacidad])
Indicamos la velocidad de transición del estado actual al nuevo estado (slow/normal/fast) o un valor indicado en milisegúndos.
El valor de la opacidad es un numero real entre 0 y 1. 1 significa sin opacidad y 0 es transparente.
También podemos llamar al método fadeTo con tres parámetros:
fadeTo([velocidad],[valor de opacidad],[función])
Esta segunda estructura de la función permite ejecutar una función cuando finaliza la transición.
Hay que tener en cuenta que fadeTo por más que indiquemos el valor 0 en opacidad el espacio que ocupa el elemento en la página seguirá ocupado por un recuadro vacío.
Problema:
Confeccionar una página que muestre un recuadro con texto. Disponer dos botones, uno que cambie la opacidad lentamente hasta el valor 0.5 y el otro que lo muestre lentamente hasta el valor 1.
<!DOCTYPE html> <html> <head> <title>Ejemplo de jQuery</title> <meta charset="UTF-8"> <link rel="StyleSheet" href="estilos22.css" type="text/css"> </head> <body> <input type="button" id="boton1" value="Reducir opacidad"> <input type="button" id="boton2" value="Aumentar opacidad"> <div id="descripcion" class="recuadro"> <p>HTML es el lenguaje que se emplea para el desarrollo de páginas de internet.</p> <p>Este lenguaje está constituido de elementos que el navegador interpreta y las despliega en la pantalla de acuerdo a su objetivo. Veremos que hay elementos para disponer imágenes sobre una página, hipervínculos que nos permiten dirigirnos a otra página, listas, tablas para tabular datos, etc.</p> <p>Para poder crear una página HTML se requiere un simple editor de texto (en nuestro caso emplearemos este sitio) y un navegador de internet (IExplorer,FireFox etc.), emplearemos el navegador que en este preciso momento está utilizando (recuerde que usted está viendo en este preciso momento una página HTML con su navegador).</p> <p>Lo más importante es que en cada concepto desarrolle los ejercicios propuestos y modifique los que se presentan ya resueltos.</p> <p>Este curso lo que busca es acercar el lenguaje HTML a una persona que nunca antes trabajó con el mismo. No pretende mostrar todas los elementos HTML en forma alfabética.</p> <p>Como veremos, de cada concepto se presenta una parte teórica, en la que se da una explicación completa, luego se pasa a la sección del ejercicio resuelto donde podemos ver el contenido de la página HTML y cómo la visualiza el navegador. Por último y tal vez la sección más importante de este tutorial es donde se propone que usted haga páginas en forma autónoma (donde realmente podrá darse cuenta si el concepto quedó firme).</p> </div> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script src="func22.js"></script> </body> </html>
func22.js
let x = $(document); x.ready(inicializarEventos); function inicializarEventos() { let x = $("#boton1"); x.click(reducirOpacidadRecuadro); x = $("#boton2"); x.click(aumentarOpacidadRecuadro); } function reducirOpacidadRecuadro() { let x = $("#descripcion"); x.fadeTo("slow", 0.5); } function aumentarOpacidadRecuadro() { let x = $("#descripcion"); x.fadeTo("slow", 1); }
estilos22.css
.recuadro { background-color:#ffffcc; font-family:verdana; font-size:14px; border-top-width:1px; border-right-width:3px; border-bottom-width:3px; border-left-width:1px; border-top-style:dotted; border-right-style:solid; border-bottom-style:solid; border-left-style:dotted; border-top-color:#ffaa00; border-right-color:#ff0000; border-bottom-color:#ff0000; border-left-color:#ffaa00; }
Cuando se presiona el botón de reducir la opacidad llamamos al método fadeTo con el valor 0.5:
function reducirOpacidadRecuadro() { let x = $("#descripcion"); x.fadeTo("slow", 0.5); }
y cuando presionamos el botón de aumentar la opacidad llamamos al método fadeTo con valor 1 en opacidad (significa opacidad total):
function aumentarOpacidadRecuadro() { let x = $("#descripcion"); x.fadeTo("slow", 1); }