Ver Mensaje Individual
  #19 (permalink)  
Antiguo 07/04/2015, 13:50
Avatar de mardojai
mardojai
 
Fecha de Ingreso: noviembre-2012
Ubicación: Lima, Perú
Mensajes: 137
Antigüedad: 12 años, 3 meses
Puntos: 44
Respuesta: efecto para armar figura

El siguiente ejemplo, esta diseñado con la siguiente estructura de archivos:
  • index.html
  • style.css
  • animacion.js

index.html
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.     <head>
  4.         <title>Animaci&oacute;n Jquery</title>
  5.         <!-- Incluimos el css -->
  6.         <link rel="stylesheet" type="text/css" href="style.css" />
  7.        
  8.         <!-- Incluimos Jquery -->
  9.         <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
  10.        
  11.         <!-- Incluimos el script de la animacion -->
  12.         <script src="animacion.js"></script>
  13.     </head>
  14.     <body>
  15.         <div id="banner">
  16.             <div id="devices">
  17.                 <!-- Cada dispositivo lo pondremos como un div -->
  18.                 <div class="device laptop"></div>
  19.                 <div class="device tablet"></div>
  20.                 <div class="device phone"></div>
  21.             </div>
  22.         </div>
  23.         <!-- Div de relleno -->
  24.         <div id="content">
  25.                        
  26.         </div>
  27.     </body>
  28. </html>

style.css
Código CSS:
Ver original
  1. html, body {
  2.     margin: 0;
  3.     overflow-x: hidden;
  4. }
  5.  
  6. #banner {
  7.     background: #EEE;
  8.     height: 380px;
  9. }
  10.  
  11. #devices {    
  12.     height: 380px;
  13.     margin: 0px auto;
  14.     position: relative;
  15.     width: 700px;
  16. }
  17.  
  18. .device {
  19.     position: absolute;
  20. }
  21.  
  22. .laptop {
  23.     background: #666;
  24.     height: 300px;
  25.     width: 450px;
  26.     z-index: 2;
  27. }
  28.  
  29. .tablet {
  30.     background: #363636;
  31.     height: 200px;
  32.     right: 0px;
  33.     top: 100px;
  34.     width: 300px;
  35.     z-index: 1;
  36. }
  37.  
  38. .phone {
  39.     background: #085ed3;
  40.     bottom: 0px;
  41.     height: 180px;
  42.     left: 400px;
  43.     width: 100px;
  44.     z-index: 3;
  45. }
  46.  
  47. #content {
  48.     background: #000;
  49.     color: #FFF;
  50.     height: 800px;
  51.     position: relative;
  52.     z-index: 9999;
  53. }

animacion.js
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    
  3.     if(screen.width > 800 || iedetect(8) || iedetect(7) || 'ontouchstart' in window) { // Limitamos la animacion a dispositivo con pantalla mas grande que 800px
  4.         var device = $('.device') // Todos los divs con la clase "device" los comvertimos en objetos de Jquery y en una variable.
  5.        
  6.         var laptop = $('.laptop') // La laptop la comvertimos en objeto de Jquery y en una variable.
  7.         var tablet = $('.tablet') // La tablet la comvertimos en objeto de Jquery y en una variable.
  8.         var phone = $('.phone') // El phone la comvertimos en objeto de Jquery y en una variable.
  9.        
  10.         device.css('display','none'); // Hacemos que no se muestren todos los divs con la clase "device".
  11.         laptop.css('left','-800px'); // Ponemos la laptop -800px a la izquierda
  12.         tablet.css('right','-800px'); // Ponemos la tablet -800px a la derecha
  13.         phone.css('bottom','-400px'); // Ponemos el phone -800px para abajo
  14.        
  15.         device.fadeIn(100); // Ahora mostramos los divs con la clase "device".
  16.         laptop.animate({left: '0px'}, 1000); // Hacemos que entre la laptop
  17.         tablet.animate({right: '0px'}, 1000); // Hacemos que entre la tablet
  18.         phone.animate({bottom: '0px'}, 1000); // Hacemos que entre el phone
  19.        
  20.     }
  21.    
  22. });

Aquí esta una demostración: DEMO
Y un link de descarga: DESCARGA

Se que el código no es perfecto, pero es todo lo que puedo dar. Y es cierto, una buena opción puede ser hacerlo directamente con animaciones css.

Saludos
__________________
El que supera a otros es poderoso, y el que se supera a sí mismo es invencible.
__________________
Si te sirvió puntúa.