Comunidad de diseño web y desarrollo en internet online

Ayuda, Banner en JavaScript!!!!!

Citar            
MensajeEscrito el 23 Nov 2011 05:28 pm
Buenas

Alguien me puede ayudar o explicar como puedo lograr hacer un banner como el de este ejemplo: http://www.avg.com/ww-es/inicio

Lo que necesito es q el banner sea con Divs separados y que tenga las fechitas para pasar o que continue automaticamente.

Saludos,

Por MantaRayStudios

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 23 Nov 2011 05:36 pm

Por Abducted

Claber

489 de clabLevel

3 tutoriales

Genero:Masculino  

Mentalidad Renovada

chrome
Citar            
MensajeEscrito el 23 Nov 2011 05:51 pm
Gracias por la respuesta, esta muy util el codigo!!!! voy a investigar mas sobre esto :S jejeje

Por MantaRayStudios

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 23 Nov 2011 07:22 pm
Para hacer un slide de ese tipo, lo primero que has de hacer es incluir la última librería jquery metiendo esta línea en tu <head>:

Código HTML :

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.min.js"></script>
Después vamos a hacer el HTML necesario.

Código HTML :

<div id="slider" class="tamaño">
   <div id="contenedor">
        <div id="a1" class="anuncio tamaño">Anuncio 1</div>
        <div id="a2" class="anuncio tamaño">Anuncio 2</div>
        <div id="a3" class="anuncio tamaño">Anuncio 3</div>
        <div id="botones">
            <boton id="1"></boton>
            <boton id="2"></boton>
            <boton id="3"></boton>
        </div>
    </div>
</div>
Con esto tenemos lo mínimo necesario, ahora vamos a hacer los estilos

Código HTML :

<style type="text/css">
   .tamaño {
      display: block;
      width: 500px;
      height: 300px;
   }
   #slider {
      //ocultamos lo que sobresalga del slider
      overflow: hidden;
      //centramos el div en medio
      margin-left: auto;
      margin-right: auto;
      border: 1px black solid;
   }
   #contenedor {
      // hacemos el contenedor del tamaño de lo que contenga,
      //en este caso como son 3 cuadros de 500 le damos 1500px,
      //si los tamaños fueran variables le daríamos el tamaño con jQuery
      width: 1500px;
      height: 300;
      overflow: visible;
   }
   .anuncio {
      float: left;
      font-size: 36px;
      text-align: center;
      line-height: 300px;
   }
   #a1 {background:red}
   #a2 {background:blue}
   #a3 {background:lime}
   #botones {
      //colocamos la botonera donde queramos
      position: absolute;
      margin-top: 278px;
      margin-left: 226px;
   }
   boton {
      width: 12px;
      height: 12px;
      //hacemos los botones redondos
      border-radius: 6px;
      -webkit-border-radius: 6px;
      -moz-border-radius: 6px;
      background: black;
      margin-right: 6px;
      float: left;
      cursor: pointer;
   }
</style>
Y ahora el javascript (jQuery) necesario para mover el slider

Código Javascript :

<script type="text/javascript">
   $(document).ready(function () {
      //le asignamos la accion de click a los botones
      $('boton').click(function () {
         //cogemos su id la convertimos en número y le restamos 1
         var numero = parseInt($(this).attr('id'))-1;
         //calculamos la posicion(en negativo -()) del contenedor
         var posicion = -(numero*500);
         //animamos la posicion del contenedor
         $('#contenedor').animate({'margin-left': posicion}, 200);
      });
   });
</script>

Ya si quisieras que se auto-animara o algo de eso, pues mírate bien los tutoriales de jQuery de la página que te he posteado más arriba.

Espero que te sirva para empezar, despues de esto ya has de dejar volar tu imaginación y experimentar con lo que se te ocurra, hasta que des con lo que te gusta.

Un saludo.

Por Abducted

Claber

489 de clabLevel

3 tutoriales

Genero:Masculino  

Mentalidad Renovada

chrome
Citar            
MensajeEscrito el 23 Nov 2011 07:29 pm
La url con el ejemplo funcionando:

http://www.coolarts.us/abductedman/cristalab/slider/

Un saludo.

Por Abducted

Claber

489 de clabLevel

3 tutoriales

Genero:Masculino  

Mentalidad Renovada

chrome
Citar            
MensajeEscrito el 23 Nov 2011 07:32 pm
Abducted
Hay un pequeño problema con el código que has puesto. El <div> #botones se desplaza fuera de #contenedor cuando se hace clic en ellos. ¿Quizá deberías ponerlo fuera de éste y posicionado absolutamente?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 23 Nov 2011 07:50 pm
Es cierto, como lo he mirado en Chrome que no pasa no me he dado cuenta, tan sencillo como sacar el div #botones fuera de contenedor y reposicionarlo. Gracias por el apunte ;).

Un saludo.

Por Abducted

Claber

489 de clabLevel

3 tutoriales

Genero:Masculino  

Mentalidad Renovada

chrome
Citar            
MensajeEscrito el 23 Nov 2011 09:34 pm
Hola Muchas Gracias!!!!

Buscando logre hacer este!!!

HTML

Código :

<div id="sitio">
   <div id="header">
      <div id="banner-ani">
       <!-- Content holder will hold content -->
         <div id="b-slider">
            <div class="banners">
               <h1>Div Demo 1</h1>
               <p>Lorem Ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum 
               </p>
            </div>
            <div class="banners">
               <h1>Div Demo 2</h1>
               <p>Lorem Ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum 
               </p>
            </div>
            <div class="banners">
               <h1>Div Demo 3</h1>
               <p>Lorem Ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum 
               </p>
            </div>
            <div class="banners">
               <h1>Div Demo 4</h1>
               <p>Lorem Ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum 
               </p>
            </div>
         </div>
      <!-- Navigation for content slider -->
         <div class="contentnav" id="b-botonera">
            <a rel="1" href="#">1</a> <a rel="2" href="#">2</a>
            <a rel="3" href="#">3</a> <a rel="4" href="#">4</a></div>
      </div>
 </div>
</div>


CSS

Código :

#sitio {
   width: 920px;
   margin-left: auto;
   margin-right: auto;
   height: auto;
}
#sitio #header {
   width: 920px;
   height: auto;
}
#sitio #header #banner-ani {
   border: 1px solid #a9a9a9;
   height: 300px;
   width: 920px;
   overflow: hidden;
   position: relative;
   background-color: #FFF;
}
#sitio #header #banner-ani #b-slider {
   position: absolute;
   top: 0;
   left: 0;
}
#sitio #header #banner-ani #b-slider .banners {
   width: 920px;
   float: left;
   position: relative;
   background-color: #FFF;
   top: 0px;
   left: 0px;
   height: 300px;
}
#sitio #header #banner-ani #b-botonera {
   position: absolute;
   bottom: 36px;
   left: 811px;
   z-index: 100;
   border: 1px solid #000;
   background-color: #333333;
   border: 1px solid #000;
   font-family: arial, Helvetica, sans-serif;
   color: 12;
   width: 87px;
   text-align: center;
   height: 21px;
}
#sitio #header #banner-ani #b-botonera a {
   padding: 3px 5px 3px 5px;
   margin: 0px;
   text-decoration: none;
   color: #FFFFFF;
   font-family: arial, Helvetica, sans-serif;
   font-size: 12px;
}
#sitio #header #banner-ani #b-botonera a.active {
   font-family: arial, Helvetica, sans-serif;
   font-size: 12px;
   background-color: #FF00FF;
   text-align: center;
}


Javascript

Código :

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" type="text/javascript"><!--mce:0--></script>
<script src="custom2.js" type="text/javascript"></script>


Custom2.js

Código :

$(document).ready(function() {
//Activate First Link
$("#b-botonera a:first").addClass("active");
//width of a single content area
var contentwidth = $("#b-slider").width();
//Total number of content
var totalcontent = $(".banners").size();
//Total width of all content area
var allcontentwidth = contentwidth * totalcontent;
//contentslider to new size which we got in above step
$("#b-slider").css({'width' : allcontentwidth});
//Now right a new function for slide and slide navigation
rotate = function(){
//Number of times we need to slide
var slideid = $active.attr("rel") - 1;
//Set the distance which single content needs to slide
var slidedistance = slideid * contentwidth;
//Remove active class
$("#b-botonera a").removeClass('active');
//Add Active Class
$active.addClass('active');
//Slider Animation
$("#b-slider").animate({
        left: -slidedistance
    }, 500 );
}; 
 
//Set Time for Rotation of slide
rotation = function(){
play = setInterval(function(){
//Next slide nav
$active = $('#b-botonera a.active').next();
if ( $active.length === 0) {
//Move to first slide nav
$active = $('#b-botonera a:first');
}
rotate();
//Timer speed 5 sec
}, 5000);
};
//Run rotation fuction
rotation();
$("#b-botonera a").click(function() {
$active = $(this);
clearInterval(play);
rotate();
rotation();
return false;
});
});


Me gustaria saber si me pueden ayudar a que funcione igual, es animado automaticamente o manual pero lo que quiero es q funcione igual pero q la transicion sea Fade.

Por MantaRayStudios

6 de clabLevel



 

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.