Accordion Horizontal - Tutorial jQuery

Antes de tudo...Recomendo assinar meu Feed RSS!

Bom eu não sei se escreve assim mesmo (Accordion) em português mais, vai assim mesmo….

Vamos criar um efeito sanfona, que revela uma legenda para cada miniatura quando colocado o mouse sobre uma delas:

Demonstração / Download dos Arquivos

Passo 1 - Chamar o jQuery
Pela milezima vez vamos fazer esse passo novamente, lembrando que é um processo “padrão” para qualquer efeito com jQuery:

<script src="jquery-1.2.6.min.js" type="text/javascript"></script>

Passo 2 - HTML

Eu dei a primeira tag âncora um id, para que pudéssemos definir uma largura inicial e exibi-la ampliada quando a página é carregada.

<div id="cont">
<ul>
  <li>
    <a id="a1">
      <img src="images/1.jpg" />
      <p>
        <strong>Tutoriais</strong><br/>
      <span class="texto">Aprenda, conheça mais, confira meus tutoriais. </span></p>
    </a>
  </li>
  <li>
    <a>
    <img src="images/2.jpg" />
       <p>
         <strong>Portfolio</strong><br/>
       <span class="texto">Veja alguns trabalhos feitos por mim ...</span></p>
    </a>
  </li>
  <li>
    <a>
    <img src="images/3.jpg" />
      <p>
        <strong>Contato</strong><br/>
      <span class="texto">Gostou? então entre em contato comigo... </span></p>
    </a>
  </li>
</ul>
</div>

Passo 2 - CSS

A principal coisa a se notar é a altura fixa a ser estabelecidas sobre a tag âncora.
Usamos “overflow: hidden” para evitar que o conteudo da tag de caia para baixo da miniatura.:

ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

ul li{
	float: left;
	padding: 10px;
	display: block;
	margin-right: 10px;
	background: transparent url(images/bac.jpg) repeat-x;;
}

ul li a{
  display: block;
  overflow: hidden;
  height: 75px;
  width: 75px;
}

#a1{
  width: 210px;
}

ul li img{
  position: absolute;
  border: 3px solid #800622;
}

ul li p{
  margin: 0;
  padding: 0;
  width: 120px;
  display: block;
  margin-left: 85px;
}
body {
	background-color: #222;
	color:#FFF;
}
#cont{
	height:120px;
	width: 450px;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
}
.texto {
	font-size: 13px;

Passo 3 - jQuery

E aqui está o jQuery script que faz tudo acontecer. A primeira coisa que faz é definir algumas variáveis:

lastBlock: representa o bloco que já está expandido;
maxWidth: é a largura que queremos que o nosso bloco aparece quando expandido;
minWidth: é a largura dos blocos que não estão expandidos.em nosso exemplo será 75px

Agora definimos o evento de hover:

<script type="text/javascript" >
$(document).ready(function(){
    lastBlock = $("#a1");
    maxWidth = 210;
    minWidth = 75;	

    $("ul li a").hover(
      function(){
        $(lastBlock).animate({width: minWidth+"px"}, { queue:false, duration:400 });
	$(this).animate({width: maxWidth+"px"}, { queue:false, duration:400});
	lastBlock = this;
      }
    );
});
</script>

Bom, é só isso. Até a proxima.


Gostou? Então Leia Tambem:

Categorias e Tags: JQuery, Javascript, Tutoriais, , , , , ,

Escreva seu Comentario




:D :) :o :eek: :( :lol: :wink: :arrow: :idea: :?: :!: :evil: :p

Mateus Souza - Blogando Diferente is Digg proof thanks to caching by WP Super Cache!