Slideshow com jQuery

Postado por: Pedro Rogério em
jQuery Slideshow

Nesse tutorial vamos aprender a desenvolver um simples Slideshow de imagens com a utilização do jQuery que pode ser aplicado em diversos lugares devido a sua simplicidade. Esse tutorial foi criado originalmente por Jon Raasch. Inclusive é ele que uso aqui no meu site para mostrar meu portifólio.

Repare na simplicidade do HTML:

<div id="slideshow">
    	<img class="active" src="images/image1.jpg" alt="" title="" />
        <img src="images/image2.jpg" alt="" title="" />
        <img src="images/image3.jpg" alt="" title="" />
        <img src="images/image4.jpg" alt="" title="" />
</div>

Basicamente você irá precisar de uma div, e dentro da mesma é onde você irá colocar as imagens para as transições, coloque quantas desejar. Somente adicione a classe active a primeira imagem.

Algumas considerações também devem ser feitas no CSS para que ele funcione corretamente, elas serão listadas abaixo:

#slideshow {
    position:relative;
    height:376px;
    width:490px;
    margin:0 auto;
}

#slideshow img {
    position:absolute;
    top:0;
    left:0;
    z-index:8;
}

#slideshow img.active {
    z-index:10;
}

#slideshow img.last-active {
    z-index:9;
}

Na div #slideshow é onde você deve definir a altura e largura do box que irá conter as imagens. Se as imagens tiverem o mesmo tamanho seu slideshow ficará mais elegante. Agora, o JavaScript, que como podem ver, também é muito simples:

function slideSwitch() {
    var $active = $('#slideshow img.active');

	$active.addClass('last-active');

	// verifica se existe um próximo objeto na div #slideshow, caso ele nao exista, retorna para o primeiro
    var $next =  $active.next().length ? $active.next() : $('#slideshow img:first');

	// Codigo que define as transicoes entre as imagens
    $next.css({opacity: 0.0})
        .addClass('active')
        .animate({opacity: 1.0}, 1000, function() {
            $active.removeClass('active last-active');
        });
}

$(function() {
	//Executa a função a cada 5 segundos
	setInterval( "slideSwitch()", 5000 );
});

Vejam agora o exemplo do Slideshow.

Posts Relacionados

Confira também outros artigos interessantes postados aqui no blog.

Sobre Pedro Rogério

Pedro Rogério é desenvolvedor web por paixão, não saberia fazer melhor outra coisa. Além de escrever para o CSS no Lanche também escreve para o Pinceladas da Web, blog com assuntos gerais sobre desenvolvimento web.

Central Server

9 Responses to “Slideshow com jQuery”

  1. thiago cardoso disse:

    matou a pau nesse hein…..parabens

  2. Adriano Vasconcelos disse:

    Muito legal, bom trabalho cara..sou iniciante nessa aventura que é a WEB, mas apaixonado pelo que ela oferece. Parabéns.

  3. Paulo disse:

    Olá Pedro, eu sou iniciante em desenvolvimento pra web, testei esse slideshow, mas quando tentei adicionar um link a imagem, a mesma parou de ser exibida no slideshow, pq isso acontece? e teria como corrigir?

    Abração

  4. Róger Klein disse:

    Olá, tudo blza?
    Cara, eu não consigo fazer funcionar esse slideshow, já verifiquei umas 10 vezes o código todo e nada de funcionar.
    Dá uma luz ae!!
    flws

  5. Vinicius disse:

    Em primeiro lugar, meus parabéns pela materia, acompanho esse blog a algum tempo e essa não é a primeira vez que uso no meu trabalho algo que aprendi aqui…

    Agora uma duvida
    Estou com o slideshow funcionando muito bem em uma pagina aqui,
    porem, tenho tbm um menu dropdown vertical que precisa ficar logo acima da div
    do slideshow, o que esta acontecendo é que s slides sempre ficam cobrindo a droplist do meu menu, alguem sabe como resolver?

    Abraços!

Leave a Reply