jQuery - Criando uma galeria de fotos
Lembrando do jQuery
jQuery é a biblioteca JavaScript mais usada em aplicações web atualmente. Ela foi desenvolvida em 2006 por John Resig e é suportada por uma comunidade de desenvolvedores além do time do projeto jQuery. Ela foi construída para ser leve, poder ser usadas nos principais navegadores e ser compatível com a especificação CSS3.
jQuery simplifica a maneira de como acessar os elementos DOM tornando mais fácil a navegação pelas páginas. A biblioteca possui poderosos recursos Ajax, manipulação de eventos e efeitos de animação, permitindo um rápido desenvolvimento de aplicações web. Além disso a jQuery permite a criação de plugins que possibilita aos desenvolvedores criar recursos poderosos com base no núcleo jQuery.
Por tudo isso você não pode ignorar a jQuery pois ela permite utilizar muitos recursos em suas aplicações web tornando-a mais interativa e amigável ao usuário.
Eu já apresentei a jQuery em meu artigo - ASP .NET - Apresentando JQuery - Macoratti.net, e se você nunca ouviu falar ou nunca usou jQuery sugiro que você o leia pois não vou repetir toda a parte introdutória que mostra como usar jQuery em páginas ASP .NET.
Atualmente o jQuery esta na versão 1.6.1 e você pode baixá-la aqui: http://jquery.com/ e esta disponível também tanto no Visual Studio como as versões Express quando você cria uma aplicação web usando o template padrão (não o vazio).
JQuery esta incluída tanto nos projetos ASP .NET Web Forms como nos projetos ASP .NET MVC. A library Microsoft Ajax foi projetada para atrair desenvolvedores JQuery e você pode mesclar plug-ins JQuery e controles de cliente Microsoft Ajax em sua aplicação.
Criando uma galeria de fotos com jQuery
Esse artigo foi inteiramente baseado no artigo original : Make Photo Slideshow using JQuery que por sua vez utilizou referências do artigo: Faça uma galeria de imagens usando JQuery Lightbox Plugin. O objetivo é mostrar os recursos do jQuery.
Abra o Visual Web Developer 2010 Express Edition e crie um novo website no menu File-> New WebSite selecionando o template ASP .NET Empty Web Site, informando o nome FotosGaleria;
Obs: Eu poderia usar o template ASP .NET Web Site que ja cria a estrutura e os arquivos jQuery.
A seguir vamos incluir um novo web form no website no menu WebSite -> Add new Item selecionando o template Web Form e aceitando nome Default.aspx;
Agora vamos criar 3 pastas no projeto para isso clique com o botão direito do mouse sobre o nome do projeto e clique em New Folder informando o nome da pasta a ser criada. As pastas são:
Ao final do processo o nosso web site terá a seguinte estrutura:
Após isso vamos criar 5 pastas no interior da pasta images seguindo o mesmo processo:
A seguir na pasta prettyPhoto vamos incluir 5 pastas com os seguintes nomes:
Agora vamos incluir os arquivos necessários nas respectivas pastas criadas.
Para o exemplo deste artigo eu estou usando os arquivos :
Para incluir os arquivos nas pastas clique com o botão direito do mouse sobre a pasta e selecione Add Existing Item e selecione o arquivo desejado do seu local de origem.
Após incluirmos os arquivos nas pastas nosso web site terá a seguinte estrutura:
A seguir selecione a página Default.aspx e defina o seguinte leiaute usando os controles DataList e IMG:
O código da página Default.aspx deverá ser o seguinte:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>JQuery - Galeria de Fotos</title> <link rel="stylesheet" type="text/css" href="Style/prettyPhoto.css" charset="utf-8" media="screen" /> <!-- Arquivos utilizados pelo jQuery --> <script type="text/javascript" src="Scripts/jquery-1.4.4.min.js" charset="utf-8"></script> <script type="text/javascript" src="Scripts/jquery.prettyPhoto.js" charset="utf-8"></script> <style type="text/css"> .style1 { width: 100%; } .style2 { font-family: "Trebuchet MS"; font-size: x-large; color: #0033CC; } </style> </head> <body> <form id="form1" runat="server"> <div> <table class="style1"> <tr> <td class="style2"> <strong>Macoratti.net</strong></td> </tr> <tr> <td bgcolor="#0099FF"> </td> </tr> </table> <h3>Usando o controle HTML IMG</h3> <a href="images/fullscreen/1.jpg" rel="prettyPhoto[pp_gal]" title="Você pode incluir títulos nas imagens."><img src="images/thumbnails/t_1.jpg" width="60" height="60" alt="Forma vermelha arredondada" /></a> <a href="images/fullscreen/2.jpg" rel="prettyPhoto[pp_gal]"><img src="images/thumbnails/t_2.jpg" width="60" height="60" alt="Nice building" /></a> <a href="images/fullscreen/3.jpg" rel="prettyPhoto[pp_gal]"><img src="images/thumbnails/t_3.jpg" width="60" height="60" alt="Fire!" /></a> <a href="images/fullscreen/4.jpg" rel="prettyPhoto[pp_gal]"><img src="images/thumbnails/t_4.jpg" width="60" height="60" alt="Rock climbing" /></a> <a href="images/fullscreen/5.jpg" rel="prettyPhoto[pp_gal]"><img src="images/thumbnails/t_5.jpg" width="60" height="60" alt="Fly kite, fly!" /></a> </div> <div> <h3>Usando o controle DataList</h3> <asp:DataList ID="galleryDataList" RepeatColumns="5" runat="server"> <ItemTemplate> <a href='<%# Eval("Name","images/fullscreen/{0}")%>' rel="prettyPhoto[pp_gal]" title="Você pode incluir títulos nas imagens."> <img src='<%# Eval("Name","images/fullscreen/{0}")%>' width="60" height="60" alt='<%# Eval("Name") %>' /> </a> </ItemTemplate> </asp:DataList> </div> </form> <script type="text/javascript" charset="utf-8"> $(document).ready(function () { $("a[rel^='prettyPhoto']").prettyPhoto({ theme: 'facebook', slideshow: 5000, autoplay_slideshow: true }); }); </script> <table class="style1"> <tr> <td bgcolor="#6699FF"> </td> </tr> </table> </body> </html> |
Destacamos no código acima o seguinte:
1-As referências aos arquivos de estilo de do jQuery
<link
rel="stylesheet" type="text/css"
href="Style/prettyPhoto.css" charset="utf-8"
media="screen" />
<!-- Arquivos utilizados pelo jQuery -->
<script type="text/javascript"
src="Scripts/jquery-1.4.4.min.js"
charset="utf-8"></script>
<script type="text/javascript"
src="Scripts/jquery.prettyPhoto.js"
charset="utf-8"></script>
2- O código para exibir as imagens usando o controle IMG da HTML
<h3>Usando
o controle HTML IMG</h3>
<a href="images/fullscreen/1.jpg"
rel="prettyPhoto[pp_gal]" title="Você pode
incluir títulos nas imagens."><img
src="images/thumbnails/t_1.jpg"
width="60" height="60" alt="Forma
vermelha arredondada" /></a>
<a href="images/fullscreen/2.jpg"
rel="prettyPhoto[pp_gal]"><img
src="images/thumbnails/t_2.jpg" width="60"
height="60" alt="Nice building"
/></a>
<a href="images/fullscreen/3.jpg"
rel="prettyPhoto[pp_gal]"><img
src="images/thumbnails/t_3.jpg" width="60"
height="60" alt="Fire!" /></a>
<a href="images/fullscreen/4.jpg"
rel="prettyPhoto[pp_gal]"><img
src="images/thumbnails/t_4.jpg" width="60"
height="60" alt="Rock climbing"
/></a>
<a href="images/fullscreen/5.jpg"
rel="prettyPhoto[pp_gal]"><img
src="images/thumbnails/t_5.jpg" width="60"
height="60" alt="Fly kite, fly!"
/></a>
</div>
3- O código para exibir as imagens no controle DataList
<h3>Usando
o controle DataList</h3>
<asp:DataList ID="galleryDataList"
RepeatColumns="5" runat="server">
<ItemTemplate>
<a href='<%#
Eval("Name","images/fullscreen/{0}")%>'
rel="prettyPhoto[pp_gal]" title="Você pode
incluir títulos nas imagens.">
<img src='<%#
Eval("Name","images/fullscreen/{0}")%>'
width="60" height="60" alt='<%#
Eval("Name") %>' />
</a>
</ItemTemplate>
</asp:DataList>
4- O código JavaScript que realiza um slide show nas imagens
<script
type="text/javascript" charset="utf-8">
$(document).ready(function () {
$("a[rel^='prettyPhoto']").prettyPhoto({ theme:
'facebook', slideshow: 5000, autoplay_slideshow: true });
});
</script>
Falta somente definir o código no arquivo code-behind Default.aspx.cs no evento Load do formulário:
using System; using System.IO; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DirectoryInfo myImageDir = new DirectoryInfo(MapPath("~/images/fullscreen/")); try { galleryDataList.DataSource = myImageDir.GetFiles(); galleryDataList.DataBind(); } catch (System.IO.DirectoryNotFoundException) { Response.Write("<script language =Javascript> alert('Erro!');</script>"); } } } } |
Este código define que os arquivos da pasta /images/fullscreen/ serão vinculados ao DataList.
Executando o web site teremos a seguinte página inicial:
Clicando em uma das imagens teremos a apresentação do slide show onde vemos a figura selecionada e na base da figura a relação de imagens:
Para acionar o slide show basta clicar no botão play(>) e observar...
Com isso vemos do que o jQuery é capaz lembrando que jQuery é apenas JavaScript.
Pegue os exemplos usados aqui: FotosGaleria.zip
"Assim os derradeiros serão primeiros, e os primeiros derradeiros; porque muitos são chamados, mas poucos escolhidos." Mateus 20:16
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
|
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#