Tutorial JQuery CSS – Galeria de fotos com thumbnails e slider

17 09 2009

Boa noite ae!

Bom agora aqui colocando um elemento gráfico que é bem útil e tbm bastante usado.

É uma galeria até que básica bastante funcional e fácil de fazer ela tem um slider para os thumbs e a foto aparece em uma div acima, nessa galeria você vai precisar de ter uma imagem com o tamanho que você quer mostrar e ela em um tamanho menor caso você não queira perder qualidade e perder um pouco de performance pq redimensionar uma imagem no html não é muito aconselhavel.

Esta é a imagem da galeria

bom primeiro vamos a estrutura do html

<div id=”imagens”>//Div para pré carregar as imagens grandes
<img src=”1.jpg” />
<img src=”2.jpg” />
<img src=”3.jpg” />
</div>
<div id=”root”>
<div id=”mostra-foto”>//Div que mostra as imagens
</div>
<div id=”info”>//Div que vai receber o texto
<div id=”texto-info”>//Div para o texto receber um padding
</div>
</div>
<div id=”seta-esq”>//Div da seta esquerda que movimenta o slider
<img src=”imgsgaleria/seta-esq.gif” />
</div>
<div id=”caixa-slider”>
<div id=”fundo-slider”>
<div
class=”parte-slider”> //Divs com as caixas do slider aqui temos 3 caixas mais é só repetir esta div que você terá quantas precisar
<img src=”imgsgaleria/1-mini.jpg” alt=”arte japonesa bem bonita” /> //Thumb da imagem 1 com alt que vai aparecer no box de texto
</div>
<div
class=”parte-slider”>
<img src=”imgsgaleria/2-mini.jpg” alt=”minhas aventuras com modelagem” />
</div>
<div
class=”parte-slider”>
<img src=”imgsgaleria/3-mini.jpg” alt=”peão de obra” />
</div>
</div>
</div>
<div id=”seta-dir”> //Div da seta direita
<img src=”imgsgaleria/seta-dir.gif” />
</div>
</div>

agora o css

html,body{//Zerar o padding o margin e colocar uma fonte
margin:0;
padding:0;
font-family:tahoma;
color:#000;
}
#root{ //Div que vai servir para suportar td o conteudo
height:auto;
width:600px;
margin:10px auto;
}
#mostra-foto{//Caixa que mostra a foto com a altura minima de 500px
width:600px;
float:left;
overflow:hidden;
text-align:center;
min-height:500px;
}
#caixa-slider{//Caixa do slider
margin:10px 0 0 0;
height:70px;
width:500px;
float:left;
overflow:hidden;
}
#seta-esq,#seta-dir{//Div das setas
height:70px;
width:50px;
float:left;
margin:10px 0 0 0;
}
#fundo-slider{//Div que recebe td o slider
width:auto;
height:70px;
}
.parte-slider{//Caixas do slider
width:auto;
height:70px;
margin:0 6px;
float:left;
}
.parte-slider img,#seta-esq img,#seta-dir img{//Para deixar o ponteiro do mouse diferente nas setas e nas caixas do slider
cursor:pointer;
}
#info{//Caixa que vai receber o texto
height:50px;
width:600px;
float:left;
margin:-50px 0 0 0;
background:#555;
}
#texto-info{//Aqui vai o texto com um padding
color:#fff;
padding:10px;
font-weight:bold;
}
#imagens{//Caixa para précarregar as imagens aqui ela não aparece
display:none;
}

e por fim o jquery

$(function(){
var src=”";//Variaveis que vão receber o caminho, tratar o caminho, o texto que vai na caixa de informação, contar as partes do slider e a que vai receber o tamanho máximo do slider respectivamente;
var src2;
var alt;
var i=0;
var max;
$(“#fundo-slider”).find(“.parte-slider”).each(function(){ //Aqui ele conta as partes do slider
i++;
});
max=(i*70)-70;//Aqui ele deixa o maximo do slider menos 1 parte do slider
$(“#info”).fadeTo(-500,0.5); //dá uma esmaecida na caixa de informação
$(“#mostra-foto”).html(“<img src=’imgsgaleria/1.jpg’ />”);//Deixa a primeira imagem carregada na caixa que mostra a foto
$(“#texto-info”).text(“arte japonesa bem bonita”);//Deixa o alt da primeira imagem carregada na caixa de informação
$(“.parte-slider img”).click(function(){ //Evento de clicar na imagem
alt = $(this).attr(“alt”); //Recebe o texto da imagem
src=$(this).attr(“src”); //recebe o caminho da imagem
src2=src.split(“-”); //Divide o caminho da imagem para tirar o mini que significa que ela é um thumb
$(“#info”).animate({“marginTop”:”0px”,”height”:”0px”},500,function(){//Aqui ele faz o movimento de esconder a caixa de informação, colocar o texto na caixa e carregar a imagem grande tudo como callback
$(“#texto-info”).text(alt);
$(“#mostra-foto”).html(“<img src=’”+src2[0]+”.jpg’ />”);
});
$(“#info”).animate({“marginTop”:”-50px”,”height”:”50px”},500); //Aqui ele faz a caixa de texto aparecer novamente
});
$(“#seta-dir img”).click(function(){ //Movimentação do slider
if ($(“#fundo-slider”).css(“marginLeft”) != “-”+max+”px”){ //Se a posição estiver diferente do máximo permitido ele movimenta
$(“#fundo-slider”).animate({“marginLeft”:”-=70px”},500);
}
});
$(“#seta-esq img”).click(function(){ //Movimentação do slider
if ($(“#fundo-slider”).css(“marginLeft”) != “0px”){
//Se a posição estiver diferente do minimo permitido ele movimenta
$(“#fundo-slider”).animate({“marginLeft”:”+=70px”},500);
}
});
});

Até mais rapaziada.





Tutorial JQuery – Menu lateral com slider sobreposto

1 09 2009

Bom dia ae

Postando mais um tutorial de JQuery com um menu lateral com slider que fica sobreposto ao conteúdo com slider para esconder e mostrar a caixa do menu.

Segue o código simples

$(function(){
$(“#botao”).click(function(){ //Evento de quando o usuário clica para mostrar ou esconder o menu
if (this.state != ’1′){ //Crivo de quando o menu esconde ou aparece
$(“#menu”).animate({“left”:”0px”},700); //Animação para o menu aparecer
$(“#botao”).animate({“left”:”120px”},700); //Animação para o botão seguir o menu
this.state=’1′; //Mudança do estado no próximo clique no botão ele ficará escondido
$(this).html(‘<img src=”imgs/seta_esq.gif” />’); //mudança da imagem do botão no caso uma seta agora para a esquerda
}else{ //O “se não” do crivo que agora irá esconder o menu
$(“#menu”).animate({“left”:”-129px”},700);
//Animação para o menu ficar escondido
$(“#botao”).animate({“left”:”0px”},700);//Animação para o botãoficar no canto da tela
this.state=’0′; //Mudança do estado no próximo clique no botão ele aparecerá
$(this).html(‘<img src=”imgs/seta_dir.gif” />’);//mudança da imagem do botão no caso uma seta agora para a direita
}//Fechamento do crivo
});//Fechamento do evento
});

O html deste menu

<div id=’menu’>//Div agregadora do menu
<div id=’conteudo_menu’>//Div onde fica o conteudo do menu para poder dar um padding essas coisas

</div>//Fecha a div
<div id=’botao’><img src=’imgs/seta_dir.gif’ /></div>//Div onde fica o botão
</div>

O css deste Menu

a Id do botão

#botao{
margin:180px 0 0 129px;
width:38px;
height:41px;
float:left;
cursor:pointer;
}

A Id do menu

#menu{
width:180px;
height:395px;
position:absolute;
left:-129px;
margin:0;
top:30px;
background:url(../imgs/menu.gif) no-repeat left;
}

Bom é isso espero que seja útil

Até!








Seguir

Obtenha todo post novo entregue na sua caixa de entrada.