2009-01-16 13 views
14

Tengo 4 imágenes, que quiero fundir entre sí en un bucle. Tengo algo como lo siguiente:¿Cómo rotar 4 (o más) imágenes, desvaneciéndose entre cada una?

<img src="/images/image-1.jpg" id="featureImg1" /> 
<img src="/images/image-2.jpg" id="featureImg2" style="display:none;" /> 
<img src="/images/image-3.jpg" id="featureImg3" style="display:none;" /> 
<img src="/images/image-4.jpg" id="featureImg4" style="display:none;" /> 

estoy para revisiones al HTML, aunque no puedo utilizar el posicionamiento absoluto en este caso. Estoy usando jQuery else en el sitio, por lo que está disponible. También necesito lidiar con una imagen que no se carga de inmediato ya que las imágenes son más grandes.

Respuesta

21

Recomiendo encarecidamente el complemento jQuery Cycle. Puede hacer más de lo que está buscando en este caso, pero está bien estructurado y es fácil de configurar. También hay una versión ligera llamada jQuery Cycle Lite que solo admite transiciones de desvanecimiento.

+0

Thxs ... tan contento de ¡encuentra eso! Muy pequeño, ¡especialmente para fadding! –

+0

¡Ah, así ~ esto ~ es lo que todos los anuncios de sitios web para adultos están usando en estos días! .. cool –

+0

Scott, parece que visitas muchos sitios web para adultos. – Martin

5

Se puede utilizar un div y un img, así:

<div id="featureImgContainer"> 
    <img src="/images/image-1.jpg" id="featureImg" /> 
</div> 

En su Javascript hacer algo como esto (pseudo-jQuery):

function rotateImage(newImage) { 
    var oldImage = $("#featureImg").image(); 

    $("#featureImgContainer").css({backgroundImage: "url('" + oldImage + "')"}); // TODO Escape URL 

    $("#featureImg").image(newImage).opacity(0).fadeIn(); 
} 

Básicamente, hacemos el div ' s fondo la imagen "vieja" y img la nueva. Configuramos el img en opacidad 0 y lo fundimos para que parezca que la imagen anterior se está desvaneciendo en la nueva. Después del fundido de entrada, el div ya no se muestra.

Tenga cuidado de configurar el CSS adecuadamente para establecer el ancho/alto de div y la posición de fondo donde corresponda.

1

puede quedarse con el núcleo de jQuery y tener un bucle que aparezca el índice z ..

se puede hacer de una manera muy simple ...

Cuestiones relacionadas