Comunidad de diseño web y desarrollo en internet online

Transición de cinco imágenes.

Citar            
MensajeEscrito el 19 Abr 2012 05:10 pm
Hola a todos.

Mi idea es la siguiente. En un array meto 20 fotos las cuales quiero mostrarlas de cinco en cinco de forma aleatoria y sin que se repitan.

Esta parte creo que la tengo resuelta de mejor o peor manera.

Mi problema ahora es que quiero que cuando cambien lo hagan con un efecto de transición tipo fade. He encontrado muchas webs con código para ello pero no me sirve porque siempre los veo referenciados a un único listado fijo. Por ejemplo un div y van mostrando las imágenes contenidas en el mismo. Pero que las imágenes vayan cambiando cada cierto tiempo de forma aleatoria y encima cinco de golpe nada.

O al menos yo no he sabido adaptarlas vaya.

El código del script para mostrar cinco imágenes de golpe de forma aleatoria es el siguiente.

Código Javascript :

    <script>
     
        function myrand(number)
        {
          return Math.floor(Math.random()*number);
        }
       
        var size = 12;
        var num_chosen = 5;
        var my_images = new Array(size);
        my_images[0]="fot1.jpg";
        my_images[1]="fot2.jpg";
        my_images[2]="fot3.jpg";
        my_images[3]="fot4.jpg";
        my_images[4]="fot5.jpg";
        my_images[5]="fot6.jpg";
        my_images[6]="fot7.jpg";
        my_images[7]="fot8.jpg";
        my_images[8]="fot9.jpg";
        my_images[9]="fot10.jpg";
       //y el resto de la lista
       
        function showimg()
        {
            for (i = 0; i < num_chosen; ++i)
            {
            choice = myrand( size - i ) + i;
            temp = my_images[choice];
            my_images[choice] = my_images[i];
            my_images[i] = temp;
            }
       
            for (i = 0; i < num_chosen; ++i)
            {
            document.getElementById('foto'+[i]).src = 'img/img_ciclos/'+ my_images[i] +'';
            }
        }
       
    </script>


Y en el html

Código HTML :

    <div class="pics">
        <img id="foto0" />
        <img id="foto1" />
        <img id="foto2" />
        <img id="foto3" />
        <img id="foto4" />
    </div>


Junto con:

Código Javascript :

    
<script>
showimg();
    var intervalo = setInterval("showimg()",3000);
</script>


¿Alguien sabe como puedo hacer que las cinco imágenes cambien de golpe con un efecto de fade? :?

Por curioso

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Abr 2012 04:30 pm
¿Sabes usar JQuery?

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 23 Abr 2012 07:36 am
Hola DriverOP

Pues la verdad es que lo justito... ¿Alguna opción de jquery podría ayudarme?

Por curioso

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Abr 2012 04:49 pm
Sí. fadeIn() y fadeOut().

Así por arribita podrías hacer algo como:

Código Javascript :

function showimg() {
  $(".pics).fateOut(400,
     function () {
            for (i = 0; i < num_chosen; ++i)  {
            choice = myrand( size - i ) + i;
            temp = my_images[choice];
            my_images[choice] = my_images[i];
            my_images[i] = temp;
            }
       
            for (i = 0; i < num_chosen; ++i)
            {
            document.getElementById('foto'+[i]).src = 'img/img_ciclos/'+ my_images[i] +'';
            }
      $(".pics").fadeIn(400);
    } // function
  ); // fadeout
 }

Lo que se hace es esfumar el div pics y cuando desaparezca (cuando finaliza el fadeout), cambiar las imágenes, cuando esto termina, hacer aparecer (fadein) el div pics.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 23 Abr 2012 05:15 pm
disculpa driver..
$(".pics).fateOut(400,

sería?
$(".pics").fateOut(400)

las comillas casi seguro que es una errata, el cierre de paréntesis es lo que no se donde vá ya que no lo encontré.

Por Silvestre_

391 de clabLevel

1 tutorial

 

"un simple aficionado", pero acepto propuestas de trabajo

firefox
Citar            
MensajeEscrito el 24 Abr 2012 12:11 pm
Perdón, escribí de memoria directamente aquí.
Esa línea, lo correcto es:

Código Javascript :

$(".pics").fadeOut(400,

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 24 Abr 2012 03:30 pm

DriverOp escribió:

Perdón, escribí de memoria directamente aquí.
Esa línea, lo correcto es:

Código Javascript :

$(".pics").fadeOut(400,


ok... el cierre ya lo ví abajo. gracias.

Por Silvestre_

391 de clabLevel

1 tutorial

 

"un simple aficionado", pero acepto propuestas de trabajo

firefox

 

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