¿Quieres crear un efecto realmente único y llamativo para tu sitio? ¿Qué tal una animación que hace zoom en una parte específica de la página cuando haces clic en ella?
Puede parecer mucho trabajo, pero con jQuery y Zoomooz.js, ¡es muy fácil! Lo guiaré paso a paso a través del proceso a medida que construimos una impresionante galería de miniaturas con zoom.
Lo que estamos construyendo
Demo en vivo: Haga clic aquí
Zoomooz.js: Introducción Básica
Cuando trabaje con nuevas bibliotecas, siempre es mejor comenzar con un ejemplo simple, solo para que pueda tener una idea de cómo funciona todo. Con este proyecto construiremos una página básica para probar la funcionalidad de zoom del script, luego pasaremos a un ejemplo más práctico creando una galería completa en miniatura.
HTML: Las Inclusiones
Este proyecto tiene un montón de cosas para incluir en la parte principal de su HTML. Lo primero que debes hacer es dirigirte a la página de inicio de Zoomooz.js y descargar la biblioteca. Verás que realmente contiene no una, sino varias bibliotecas de JavaScript. Afortunadamente, en la descarga encontrará instrucciones para ejecutar un script para combinar y minimizar todo, por lo que no es tan grande y desordenado (le dejo este paso).
Con eso en mente, nuestro pequeño experimento requerirá el siguiente código para comenzar:
El JavaScript
A continuación, copie y pegue el script siguiente en su HTML. Como puedes ver, ¿qué hace es apuntar a la clase? ¿Zoom? y aplica el? zoomTo? Método de la biblioteca. Luego, aplicamos lo mismo al cuerpo, lo que le permite al usuario hacer clic fuera de cualquier elemento para volver al nivel normal.
No te preocupes demasiado si no entiendes esto. Solo tenga en cuenta que tendremos que aplicar el? Zoom? Clase a elementos que queremos que sean ampliables. Este mismo fragmento de código exacto se aplicará en los dos proyectos de hoy, así que siéntase libre de copiarlo.
El HTML
A continuación, queremos establecer un campo de prueba básico. Para hacer esto, necesitamos crear un contenedor, un div exterior y un div interno. El contenedor puede parecer arbitrario, pero al incluirlo y establecer un ancho / alto, ayuda a que el efecto de zoom funcione correctamente en el elemento más externo.
Observe también que hemos aplicado el? Zoom? Clase a los divs externos e internos. El enlace en este punto es realmente un elemento ficticio para ayudar a guiar al usuario. El guión funciona perfectamente bien sin él.
El CSS
A continuación, aplicamos medidas y posicionamiento a cada elemento. De nuevo, un tamaño de contenedor definido hace que la función de zoom funcione correctamente, al igual que la posición? Absoluta: ¿absoluta? declaración sobre el? interior? div. El script puede ser un poco peculiar, así que asegúrate de obtener estos elementos correctamente.
Texto CSS
Finalmente, aquí solo agregamos un estilo de texto básico para el párrafo junto con un estado de desplazamiento. Una vez más, siéntase libre de abandonar el enlace por completo.
Manifestación
Con eso, nuestra simple demo está todo terminado. Abre la página de demostración para verla en acción. Tenga en cuenta que hacer clic en cada div le da un nivel de zoom diferente y hacer clic en el cuerpo lo aleja completamente.
Zoomooz.js: Galería de miniaturas
Usando esta misma técnica, podemos construir una impresionante galería de miniaturas con un efecto de zoom. Sin embargo, es importante tener en cuenta que este complemento probablemente funcione mejor para los elementos representados con el navegador. Cuando lo usamos para imágenes, como lo haremos a continuación, la desafortunada realidad es que tienes que cargar todo en su tamaño ampliado.
Entonces, a pesar de tener una página llena de miniaturas pequeñas, en realidad cargamos una página llena de imágenes grandes, lo que puede demorar varios segundos dependiendo de la velocidad de conexión del usuario.
A pesar de esta limitación, todavía es divertido llevar las cosas al límite y ver qué es posible.
HTML
El HTML para este proyecto será realmente simple. Empiezo con un div que contiene texto descriptivo, básicamente solo un encabezado rápido y una etiqueta de párrafo para explicar lo que está pasando. A continuación, creé una gran lista desordenada que contenía las imágenes. ¡Eso es practicamente todo!
Tenga en cuenta que he aplicado el? Zoom? clase tanto a la? galería? div en su conjunto y para cada imagen dentro de la div. Esto nos dará dos niveles de zoom para jugar. La biblioteca es lo suficientemente inteligente como para manejar automáticamente los niveles de zoom relativos basados en las relaciones padre / hijo.
Además, asegúrate de tomar el código principal y JavaScript del ejemplo anterior. Estoy usando la misma configuración exacta, solo mi cuerpo HTML y CSS cambiarán.