<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Boteco Digital &#187; JQuery</title>
	<atom:link href="http://www.botecodigital.info/category/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.botecodigital.info</link>
	<description></description>
	<lastBuildDate>Fri, 30 Jul 2010 20:33:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Plugin para histórico utilizando AJAX</title>
		<link>http://www.botecodigital.info/jquery/plugin-para-historico-utilizando-ajax/</link>
		<comments>http://www.botecodigital.info/jquery/plugin-para-historico-utilizando-ajax/#comments</comments>
		<pubDate>Thu, 20 May 2010 19:52:09 +0000</pubDate>
		<dc:creator>Rodrigo Aramburu</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.botecodigital.info/?p=1041</guid>
		<description><![CDATA[Como sabemos quando utilizamos AJAX para a navegação de páginas nos deparamos com o problema de que o botão histórico do navegador não funciona. Isso ocorre porque uma requisição AJAX não gera uma ação de histórico. Enfrentei este problema em um projeto recente que necessitava que o histórico funcionasse. Para facilitar um pouco minha vida criei um plugin(meu primeiro plugin) para JQuery que venho humildemente disponibilizar aqui. Para utilizá-lo é muito simples, funciona como a função load já disponibilizada pela [...]]]></description>
			<content:encoded><![CDATA[<p>Como sabemos quando utilizamos <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> para a navegação de páginas nos deparamos com o problema de que o botão histórico do navegador não funciona. Isso ocorre porque uma requisição <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> não gera uma ação de histórico. </p>
<p>Enfrentei este problema em um projeto recente que necessitava que o histórico funcionasse. Para facilitar um pouco minha vida criei um plugin(meu primeiro plugin) para <a href="">JQuery</a> que venho humildemente disponibilizar aqui.</p>
<p>Para utilizá-lo é muito simples, funciona como a função <a href="http://api.jquery.com/load/" tagert="_blank">load</a> já disponibilizada pela JQuery.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">  <span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;jquery.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;jquery.historyAjax.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span>
    $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">historyLoad</span><span style="color: #009900;">&#40;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Ela carrega uma <acronym title="Uniform Resource Locator">URL</acronym> passada por parâmetro dentro do elemento selecionado. E gera um evento de histórico possibilitando o uso do voltar e avançar.</p>
<p>Para ver um <a href="http://www.botecodigital.info/exemplos/historyAjax/" target="_blank">exemplo de utilização clique aqui</a></p>
<p>Para baixá-la clique <a href="http://www.botecodigital.info/exemplos/historyAjax/jquery.historyAjax.js">aqui</a>.</p>
<p>O plugin é bem simples, se alguém quiser modificá-lo(corrigir possíveis bugs) e acrescentar mais funcionalidades peço que me mande a nova versão para disponibilozar aqui.</p>]]></content:encoded>
			<wfw:commentRss>http://www.botecodigital.info/jquery/plugin-para-historico-utilizando-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trocando dados utilizando JSON</title>
		<link>http://www.botecodigital.info/jquery/trocando-dados-utilizando-json/</link>
		<comments>http://www.botecodigital.info/jquery/trocando-dados-utilizando-json/#comments</comments>
		<pubDate>Thu, 13 May 2010 19:26:30 +0000</pubDate>
		<dc:creator>Rodrigo Aramburu</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.botecodigital.info/?p=1015</guid>
		<description><![CDATA[JSON é um formato leve de troca de informações que em muitos casos está sendo utilizado para substituir o XML ou mesmo utilizado em conjundo. É um formato de dados fácil de escrever e ler por seres humanos e é bastante fácil de ser interpretado por computadores, sendo possível converte-lo facilmente para a notação de objetos JavaScript, o que o torna um boa opção para AJAX, principalmente quando necessitamos processar de alguma forma os dados buscados via AJAX. Vejamos um [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.json.org/json-pt.html" target="_blank"><acronym title="JavaScript Object Notation">JSON</acronym></a> é um formato leve de troca de informações que  em muitos casos está sendo utilizado para substituir o <acronym title="eXtensible Markup Language">XML</acronym> ou mesmo utilizado em conjundo.</p>
<p>É um formato de dados fácil de escrever e ler por seres humanos e é bastante fácil de ser interpretado por computadores, sendo possível converte-lo facilmente para a notação de objetos JavaScript, o que o torna um boa opção para <acronym title="Asynchronous JavaScript and XML">AJAX</acronym>, principalmente quando necessitamos processar de alguma forma os dados buscados via <acronym title="Asynchronous JavaScript and XML">AJAX</acronym>.</p>
<p>Vejamos um exemplo do formato JSON:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#123;</span>
<span style="color: #3366CC;">&quot;nome&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Rodrigo&quot;</span><span style="color: #339933;">,</span>
<span style="color: #3366CC;">&quot;sobrenome&quot;</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Aramburu&quot;</span><span style="color: #339933;">,</span>
<span style="color: #3366CC;">&quot;idade&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;25&quot;</span><span style="color: #339933;">,</span>
<span style="color: #3366CC;">&quot;site&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;http://www.botecodigital.info&quot;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>O formato é bem simples, um objeto é formado de vários membros dentro de chaves. Um membro é formado de uma string que será o nome da variável e um valor que pode ser: string, numérico, lógico, um array ou um outro objeto.</p>
<p>Vejamos um exemplo um pouco mais complexo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#123;</span>
    <span style="color: #3366CC;">&quot;nome&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;Loja Exemplo&quot;</span><span style="color: #339933;">,</span>
    <span style="color: #3366CC;">&quot;produtos&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>
                <span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;nome&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;Monitor LCD&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;preco&quot;</span><span style="color: #339933;">:</span><span style="color: #CC0000;">350</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
                <span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;nome&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;Gravador de DVD&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;preco&quot;</span><span style="color: #339933;">:</span><span style="color: #CC0000;">120</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
                <span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;nome&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;Pendrive&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;preco&quot;</span><span style="color: #339933;">:</span><span style="color: #CC0000;">60</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
               <span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Neste objeto temos 2 membros: <strong>nome</strong> que é tem um valor string e  <strong>produtos</strong> que é um array de outros objetos  que possuem dois membros: nome e preco.</p>
<p>Podemos  interpretar o formato JSON utilizando uma função da biblioteca <a href="http://www.botecodigital.info/jquery/iniciando-com-jquery/" target="_blank">JQuery</a> &#8211;  <em>jQuery.parseJSON</em>  &#8211; ela recebe o documento JSON como parâmetro e devolve um objeto JavaScript com os valores.</p>
<p>Exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> dados <span style="color: #339933;">=</span> <span style="color: #3366CC;">'{&quot;nome&quot;: &quot;Rodrigo&quot;,&quot;sobrenome&quot;: &quot;Aramburu&quot;,&quot;idade&quot;:&quot;25&quot;,&quot;site&quot;:&quot;http://www.botecodigital.info&quot;}'</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> obj <span style="color: #339933;">=</span> jQuery.<span style="color: #660066;">parseJSON</span><span style="color: #009900;">&#40;</span>dados<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>obj.<span style="color: #660066;">nome</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>obj.<span style="color: #660066;">sobrenome</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>obj.<span style="color: #660066;">idade</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>obj.<span style="color: #660066;">site</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Bastante simples! Deve ser mostrado em janela de <em>alert</em> as palavras &#8220;Rodrigo&#8221;, &#8220;Aramburu&#8221;, &#8220;25&#8243; e &#8220;http://www.botecodigital.info&#8221;. Como podemos notar isto torna muito fácil manipular uma série de valores contidos dentro de uma string ou arquivo arquivo.</p>
<p>Mais um exemplo para reforçar:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> dados  <span style="color: #339933;">=</span> <span style="color: #3366CC;">'{ '</span><span style="color: #339933;">;</span>
    dados <span style="color: #339933;">+=</span> <span style="color: #3366CC;">'&quot;nome&quot;:&quot;Loja Exemplo&quot;,'</span><span style="color: #339933;">;</span>
    dados <span style="color: #339933;">+=</span> <span style="color: #3366CC;">' &quot;produtos&quot;:['</span><span style="color: #339933;">;</span>
    dados <span style="color: #339933;">+=</span> <span style="color: #3366CC;">'       {&quot;nome&quot;:&quot;Monitor LCD&quot;,&quot;preco&quot;:350},'</span><span style="color: #339933;">;</span>
    dados <span style="color: #339933;">+=</span> <span style="color: #3366CC;">'       {&quot;nome&quot;:&quot;Gravador de DVD&quot;,&quot;preco&quot;:120},'</span><span style="color: #339933;">;</span>
    dados <span style="color: #339933;">+=</span> <span style="color: #3366CC;">'       {&quot;nome&quot;:&quot;Pendrive&quot;,&quot;preco&quot;:60}'</span><span style="color: #339933;">;</span>
    dados <span style="color: #339933;">+=</span> <span style="color: #3366CC;">'    ]'</span><span style="color: #339933;">;</span>
    dados <span style="color: #339933;">+=</span> <span style="color: #3366CC;">'}'</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> obj <span style="color: #339933;">=</span> jQuery.<span style="color: #660066;">parseJSON</span><span style="color: #009900;">&#40;</span>dados<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> obj.<span style="color: #660066;">nome</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> obj.<span style="color: #660066;">produtos</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">nome</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> obj.<span style="color: #660066;">produtos</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">preco</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> obj.<span style="color: #660066;">produtos</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">nome</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> obj.<span style="color: #660066;">produtos</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">preco</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Agora vamos ver a real vantagem de utilizar JSON que é  utilizá-lo para fazer <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> e para isso a biblioteca JQuery nos fornece uma função chamada <em>$.getJSON</em>. </p>
<p>Exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">        $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
              $.<span style="color: #660066;">getJSON</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'dados.json'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#nome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span> data.<span style="color: #660066;">nome</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#sobrenome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span> data.<span style="color: #660066;">sobrenome</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#idade'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span> data.<span style="color: #660066;">idade</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#site'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span> data.<span style="color: #660066;">site</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
             <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>A função <em>$.getJSON</em> recebe como parâmetros um nome de arquivo com dados no formato JSON, após o arquivo ser carregado ele é convertido em um objeto e passado por parâmetro(data) para a função que é responsável por manipular os valores.</p>
<p>Veja o <a href="http://www.botecodigital.info/exemplos/json/" target="_blank">exemplo de uso de JSON</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.botecodigital.info/jquery/trocando-dados-utilizando-json/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Menu Sanfona com JQuery</title>
		<link>http://www.botecodigital.info/jquery/menu-sanfona-com-jquery/</link>
		<comments>http://www.botecodigital.info/jquery/menu-sanfona-com-jquery/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 13:42:04 +0000</pubDate>
		<dc:creator>Rodrigo Aramburu</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[efeitos]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[menu accordian]]></category>
		<category><![CDATA[menu sanfona]]></category>

		<guid isPermaLink="false">http://www.botecodigital.info/?p=843</guid>
		<description><![CDATA[Um menu sanfona(Accordion Menu) é um menu divido por categorias que quando está mostrando os links de uma categoria esconde os links das outras(ele estica e comprime como uma sanfona). Esta funcionalidade pode também ser aplicada a um texto com vários tópicos ficando disponível os titulos e quando clicado mostra somente o texto do tópico. Este recurso é muito interessante quando temos um texto grande dividido em tópicos, pois não deixa a página muito longa. Nesta implementação vamos utilizar uma [...]]]></description>
			<content:encoded><![CDATA[<p>Um menu sanfona(Accordion Menu) é um menu divido por categorias que quando está mostrando os links de uma categoria esconde os links das outras(ele estica e comprime como uma sanfona). </p>
<p>Esta funcionalidade pode também ser aplicada a um texto com vários tópicos ficando disponível os titulos e quando clicado mostra somente o texto do tópico. Este recurso é muito interessante quando temos um texto grande dividido em tópicos, pois não deixa a página muito longa.</p>
<p>Nesta implementação vamos utilizar uma lista de definições ( dl &#8211; dt- dd ) então segue abaixo o <acronym title="HyperText Markup Language">HTML</acronym> do menu:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
</pre></td><td class="code"><pre class="htmlstrict" style="font-family:monospace;">&lt;dl&gt;
    &lt;dt&gt;&lt;a href=&quot;#&quot;&gt;Menu 1&lt;/li&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Menu 1 - Item 1&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Menu 1 - Item 2&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Menu 1 - Item 3&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/dd&gt;
    &lt;dt&gt;&lt;a href=&quot;#&quot;&gt;Menu 2&lt;/li&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Menu 2 - Item 1&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Menu 2 - Item 2&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Menu 2 - Item 3&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/dd&gt;
    &lt;dt&gt;&lt;a href=&quot;#&quot;&gt;Menu 3&lt;/li&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Menu 3 - Item 1&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Menu 3 - Item 2&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Menu 3 - Item 3&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/dd&gt;
&lt;/dl&gt;</pre></td></tr></table></div>

<p>Agora aplicamos um CSS:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">     dl <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">300px</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
     dl<span style="color: #00AA00;">,</span>dd <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
     dt <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#CCC</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">18px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
     dt a <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
     dd a <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
     ul <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">list-style</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Agora vamos a mágica com  a biblioteca  <a href="http://www.botecodigital.info/jquery/iniciando-com-jquery/">JQuery</a>(Não se esqueça de importar a biblioteca!):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"> $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
     $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;dd&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;dt a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;dd:visible&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">parent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideDown</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Na linha 1 escondemos todos os elementos <strong>dd</strong>(as definições ou seja os sub-links) as  ficando somente os <strogn>dl</strong> (os titulos das categorias/tópicos) a mostra.</p>
<p>Na linha 3 definimos o evento onclick do link do elemento <strong>dt</strong> titulo para que faça a <a href="http://www.botecodigital.info/web/animando-com-jquery/">animação slideUP()</a>(linha 4) no elemento <strong>dd</strong> que está visível ocultando os sub-links.</p>
<p>Na linha 5 através do método <a href="http://docs.jquery.com/Traversing/parent" target="_blank">parent()</a> seleciona o elemento pai do link clicado(o elemento <strong>dt</strong>) e através do método <a href="http://docs.jquery.com/Traversing/next" target="_blank">next()</a> seleciona o próximo elemento a partir do elemento <strong>dt</strong> que contém o link clicado, que é o elemento<strong>dd</strong> e chama o método <a href="http://www.botecodigital.info/web/animando-com-jquery/">slideDown(&#8220;slow&#8221;); </a> que mostra os sub-links.</p>
<p><a href="http://www.botecodigital.info/exemplos/menusanfona/index.php" target="_blank">Veja o exemplo </a></p>
<p>Espero que seja util, até a próxima!</p>]]></content:encoded>
			<wfw:commentRss>http://www.botecodigital.info/jquery/menu-sanfona-com-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Carregando um ComboBox com AJAX com JQuery</title>
		<link>http://www.botecodigital.info/jquery/carregando-um-combobox-com-ajax-com-jquery/</link>
		<comments>http://www.botecodigital.info/jquery/carregando-um-combobox-com-ajax-com-jquery/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 11:39:27 +0000</pubDate>
		<dc:creator>Rodrigo Aramburu</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.botecodigital.info/?p=754</guid>
		<description><![CDATA[Como vimos em um artigo anterior sobre AJAX é muito fácil utilizar técnicas de AJAX para tornar um site dinâmico. Hoje veremos um exemplo fácil de como selecionar um estado em um ComboBox e carregar as cidades em outro. Para começarmos termos que ter os estados e as cidades armazenadas no banco de dados que podem ser obtidas a partir do site. Para ficar mais claro colocarei as DDL abaixo. 1 2 3 4 5 6 7 8 9 10 [...]]]></description>
			<content:encoded><![CDATA[<p>Como vimos em um <a href="http://www.botecodigital.info/web/introducao-ao-ajax-com-jqurey/">artigo anterior sobre <acronym title="Asynchronous JavaScript and XML">AJAX</acronym></a> é muito fácil utilizar técnicas de <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> para tornar um site dinâmico. Hoje veremos um exemplo fácil de como selecionar um estado em um ComboBox e carregar as cidades em outro.</p>
<p>Para começarmos termos que ter os estados e as cidades armazenadas no banco de dados que podem ser obtidas a <a href="http://www.webartz.com.br/mysql/banco-mysql-de-cidades-e-estados-do-brasil/" taregt="_blank">partir do site</a>. Para ficar mais claro colocarei as DDL abaixo.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> tb_estados<span style="color: #66cc66;">&#40;</span>
  id int<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">UNSIGNED</span> <span style="color: #993333; font-weight: bold;">ZEROFILL</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #66cc66;">,</span>
  uf varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span>
  nome varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">20</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span>
  <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span>  <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`id`</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> tb_cidades <span style="color: #66cc66;">&#40;</span>
  id int<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">UNSIGNED</span> <span style="color: #993333; font-weight: bold;">ZEROFILL</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #66cc66;">,</span>
  estado int<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">UNSIGNED</span> <span style="color: #993333; font-weight: bold;">ZEROFILL</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">'00'</span><span style="color: #66cc66;">,</span>
  uf varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span>
  nome varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">50</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span>
  <span style="color: #993333; font-weight: bold;">UNIQUE</span> <span style="color: #993333; font-weight: bold;">KEY</span> id <span style="color: #66cc66;">&#40;</span>id<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
  <span style="color: #993333; font-weight: bold;">KEY</span> id_2 <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`id`</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>Agora que já temos as tabelas em nosso banco MySQL criamos uma página com os dois ComboBox com o dos estados já preenchido, para isto realizamos uma consulta ao banco de dados MySQL para preenche-lo.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;select name=&quot;estados&quot; id=&quot;estados&quot;&gt;
    &lt;?php
        mysql_connect('localhost','root','********');
        mysql_selectdb('combobox');
&nbsp;
       $result = mysql_query(&quot;select * from tb_estados&quot;);
&nbsp;
       while($row = mysql_fetch_array($result) ){
            echo &quot;&lt;option value='&quot;.$row['id'].&quot;'&gt;&quot;.$row['nome'].&quot;&lt;/option&gt;&quot;;
&nbsp;
       }
&nbsp;
    ?&gt;
&lt;/select&gt;
&nbsp;
&lt;select name=&quot;cidades&quot; id=&quot;cidades&quot;&gt;
    &lt;option value=&quot;0&quot;&gt;Escolha um estado&lt;/option&gt;
&lt;/select&gt;</pre></td></tr></table></div>

<p>Na linha 3 conectamos no banco através da função <em>mysql_connect()</em> passando o host que esta o banco de dados, o usuário e a senha de acesso ao banco. NA linha 4 selecionamos o banco de dados que queremos utilizar com a função <em>mysql_selectdb()</em>.</p>
<p>Na linha 6 utilizamos a função <em>mysql_query()</em> para realizar uma consulta ao banco de dados para trazer todos os estados.</p>
<p>Na linha 8 utilizamos a função <em>mysql_fetch_array()</em> para acessar uma linha da nossa consulta e armazená-la na variável <em>$row</em>. A função <em>mysql_fetch_array()</em> retorna a linha da consulta em formato de array, sendo que cada índice do array é o nome da coluna em que o valor está.</p>
<p>Na linha 9 montamos as opções do nosso <em>select</em>.</p>
<p>Bom agora com nossa página pronta podemos inserir o código javascript(<acronym title="Asynchronous JavaScript and XML">AJAX</acronym>) para executar a consulta quando selecionarmos o estado. O código utiliza a biblioteca <a href="http://www.botecodigital.info/jquery/iniciando-com-jquery/">JQuery</a> então não esqueça de carregá-la antes de inserir o código.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="javacript" style="font-family:monospace;">        $(document).ready(function(){
            $('#estados').change(function(){
                $('#cidades').load('cidades.php?estado='+$('#estados').val() );
            });
        });</pre></td></tr></table></div>

<p>Na linha 2 selecionamos o elemento com o id <em>estados</em>(o primeiro select), e adicionamos o evento <em>onChange</em> que é acionado quando ele muda de valor. Quando este evento for acionado(linha 3) ele vai selecionar o select com o id <em>cidades</em> fazer uma consulta <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> a página <strong>cidade.php</strong> passando por parâmetro GET o id do estado que foi selecionado no select de estados. O retorno desta consulta será inserido dentro do select prenechendo as opções de cidades.</p>
<p>Bom agora que já temos um código javascript que faz uma requisição a uma página devemos criar esta página <img src='http://www.botecodigital.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Lembrando que o retorno desta página vai preencher nosso select, então ela deve retornar tags <em>option</em> certo!</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$idestado</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'estado'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'localhost'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'root'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'******'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">mysql_selectdb</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'combobox'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT * FROM tb_cidades WHERE estado = &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$idestado</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;option value='&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;'&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'nome'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;/option&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>O código é bem parecido com o anterior onde preenchemos o select estados, só que desta fez utilizaremos uma consulta com um cláusula <em>WHERE</em> onde selecionamos somente as cidade que tiverem o estado igual ao que foi passado por parâmetro <strong>GET</strong> e que recebemos na linha 2.</p>
<p>O download do exemplo pode ser feito <a href="http://www.botecodigital.info/exemplos/combo-ajax/ajax-combo.zip">aqui</a></p>
<p>Bom este exemplo é bem simples, é possível fazer muito mais coisas com JQuery e <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> basta ter criatividade.</p>
<p>Até a próxima!</p>]]></content:encoded>
			<wfw:commentRss>http://www.botecodigital.info/jquery/carregando-um-combobox-com-ajax-com-jquery/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Construindo uma Galeria de Fotos com o plugin PrettyPhoto do JQuery</title>
		<link>http://www.botecodigital.info/web/construindo-uma-galeria-de-fotos-com-o-plugin-prettyphoto-do-jquery/</link>
		<comments>http://www.botecodigital.info/web/construindo-uma-galeria-de-fotos-com-o-plugin-prettyphoto-do-jquery/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 20:01:23 +0000</pubDate>
		<dc:creator>Rodrigo Aramburu</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[efeitos]]></category>
		<category><![CDATA[fotos]]></category>
		<category><![CDATA[galeria]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[plugin JQuery]]></category>
		<category><![CDATA[PrettyPhoto]]></category>

		<guid isPermaLink="false">http://botecodigital.g8si.com/?p=426</guid>
		<description><![CDATA[Algo que muitas pessoal tem me perguntado é como criar uma galeria de fotos bem legal. Uma que estou utilizando muito, é feita com um plugin do JQuery chamada PrettyPhoto, ela utiliza um efeito chamado lightbox, que é parecido com um POPUP, mas bem mais estiloso . Bom para começar baixe o PrettyPhoto 2.4.3 e descomacte em uma pasta. Ele é divido em 3 pastas css, js e images, para usalo você vai precisar das 3. Crie um novo documento [...]]]></description>
			<content:encoded><![CDATA[<p>Algo que muitas pessoal tem me perguntado é como criar uma galeria de fotos bem legal. Uma que estou utilizando muito, é feita com um plugin do <a href="http://www.botecodigital.info/jquery/iniciando-com-jquery" target="_blank">JQuery</a>  chamada <a href="http://www.no-margin-for-errors.com/projects/prettyPhoto-jquery-lightbox-clone/" target="_blank">PrettyPhoto</a>, ela utiliza um efeito chamado <a href="http://en.wikipedia.org/wiki/Lightbox_(JavaScript)" target="_blank">lightbox</a>, que é parecido com um POPUP, mas bem  mais estiloso <img src='http://www.botecodigital.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p> Bom para começar baixe o <a href="http://www.no-margin-for-errors.com/projects/prettyPhoto-jquery-lightbox-clone/" target="_blank">PrettyPhoto 2.4.3</a>  e descomacte em uma pasta. Ele é divido em 3 pastas <strong>css</strong>, <strong>js</strong> e <strong>images</strong>, para usalo você vai precisar das 3.</p>
<p> Crie um novo documento <acronym title="HyperText Markup Language">HTML</acronym> e inclua  na tag <em>header</em> a bilbioteca JQuery, o plugin que esta na pasta <strong>js</strong>,  a folha de estilo que esta na pasta <strong>css</strong>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="htmlstrict" style="font-family:monospace;">&lt;script src=&quot;http://jqueryjs.googlecode.com/files/jquery-1.3.2.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;js/jquery.prettyPhoto.js&quot; type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;css/prettyPhoto.css&quot; type=&quot;text/css&quot; charset=&quot;utf-8&quot; /&gt;</pre></td></tr></table></div>

<p>Agora para criarmos a nossa galeria vamos precisar das fotos e das suas miniaturas, para nosso exemplo vamos armazena-la em uma pasta chamada <strong>img</strong>.</p>
<p>Para cada imagem vamos criar um link para imagem grande que quando clicado vai abri-la em nossoo lightbox.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="htmlstrict" style="font-family:monospace;">&lt;a href=&quot;img/foto1-g.jpg&quot; rel=&quot;prettyPhoto&quot;&gt;
   &lt;img src=&quot;img/foto1-p.jpg&quot; alt=&quot;Foto do Espaço 1&quot; /&gt;
&lt;/a&gt;</pre></td></tr></table></div>

<p>O atributo <strong><em>rel=&#8221;prettyPhoto&#8221;</em></strong> é utilizado  para selecionar os links que devem fazer parte de nossa galeria e  para isso deve ser aplicado o <strong>plugin PrettyPhoto</strong> que será responsavel por abrir a imagem que esta no atributo <em>href</em> de nosso link no <em>lightbox</em>.</p>
<p>Para aplicar o plugin nos links acrescentamos na tag <em>header</em> o seguinte código:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> charset<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;utf-8&quot;</span><span style="color: #339933;">&gt;</span>
    $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a[rel^='prettyPhoto']&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">prettyPhoto</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Exemplo de <a href="http://www.botecodigital.info/exemplos/prettyphoto/" target="_blank">galeria feita com PrettyPhoto</a>.</p>
<p>Bem simples não?</p>
<p>Existem muitos Plugins para JQuery com as mais variadas funções, então não tente reinventar a roda todo dia, apenas procure uma que sirva no seu caminhão.</p>
<p>Aquele Abraço.</p>]]></content:encoded>
			<wfw:commentRss>http://www.botecodigital.info/web/construindo-uma-galeria-de-fotos-com-o-plugin-prettyphoto-do-jquery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Introdução ao AJAX com JQuery</title>
		<link>http://www.botecodigital.info/web/introducao-ao-ajax-com-jqurey/</link>
		<comments>http://www.botecodigital.info/web/introducao-ao-ajax-com-jqurey/#comments</comments>
		<pubDate>Sat, 09 May 2009 12:59:20 +0000</pubDate>
		<dc:creator>Rodrigo Aramburu</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ajax]]></category>

		<guid isPermaLink="false">http://botecodigital.g8si.com/?p=292</guid>
		<description><![CDATA[Para quem já trabalha com internet há algum tempo esta é uma sigla bastante comum. Mas o que seria exatamente AJAX? Para começar vamos esclarecer que AJAX não é uma tecnologia e sim uma metodologia que utiliza tecnologias não tão novas assim como XML e Javascript para fazer requisições assíncronas ao servidor e com as informações retornadas modificar a página já carregada utilizando DOM para modificar-la sem recarregar todo conteúdo novamente. E com isso economizar no tráfego de internet e [...]]]></description>
			<content:encoded><![CDATA[<p>Para quem já trabalha com internet há algum tempo esta é uma sigla bastante comum. Mas o que seria exatamente <strong><acronym title="Asynchronous JavaScript and XML">AJAX</acronym></strong>?</p>
<p>Para começar vamos esclarecer que <strong><acronym title="Asynchronous JavaScript and XML">AJAX</acronym></strong> não é uma tecnologia e sim uma metodologia que utiliza tecnologias não tão novas assim como <acronym title="eXtensible Markup Language"><acronym title="eXtensible Markup Language">XML</acronym></acronym> e Javascript para fazer requisições assíncronas ao servidor e com as informações retornadas modificar a página já carregada utilizando <acronym title="Document Object Model">DOM</acronym> para modificar-la sem recarregar todo conteúdo novamente. E com isso economizar no tráfego de internet e melhorar a experiência do usuário.</p>
<p>Primeiramente vejamos como uma página simples é carregada.</p>
<p>1 . O usuário digita um <acronym title="Uniform Resource Locator">URL</acronym> no campo endereço aperta enter e o navegador envia uma requisição normalmente do tipo GET para o servidor que retorna para o navegador o conteúdo que é exibido.</p>
<p>2. O usuário clica em um link da página então o navegador faz outra requisição ao servidor que envia todo o conteúdo da nova página novamente.</p>
<p><img src="http://www.botecodigital.info/wp-content/uploads/2009/05/ajax.png" alt="Requisição ajax" title="Requisição ajax" width="450" height="534" class="aligncenter size-full wp-image-312" /></p>
<p>Se pensarmos um pouco, muito conteúdo é repetido é baixado quando navegamos entre as página de um mesmo site, como topo, menus, rodapés etc.</p>
<p>Com base nisso, porque não carregar somente o conteúdo que mudou a cada requisição, sem mexer no resto do conteúdo da página? Isto é a base do <acronym title="Asynchronous JavaScript and XML">AJAX</acronym>.</p>
<p>Quando começou a ser utilizado a o retorno do servidor era feito em <acronym title="eXtensible Markup Language">XML</acronym> (por isso o X da sigla) mas com o passar do tempo passou a se chamar <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> toda requisição assíncrona ao servidor Web.</p>
<p>Bom para entendermos como fazer uma requisição assíncrona precisamos conhecer 2 tipos de requisição que o protocolo <acronym title="HyperText Transfer Protocol">HTTP</acronym> aceita:</p>
<p><strong>GET:</strong> É o método mais comum: solicita algum recurso como um arquivo ou um script (qualquer dado que estiver identificado pelo <acronym title="Uniform Resource Identifier">URI</acronym>) por meio do protocolo <acronym title="HyperText Transfer Protocol">HTTP</acronym>. O método GET é reconhecido por todos os servidores.</p>
<p><strong>POST:</strong> Envia dados para serem processados (por exemplo, dados de um formulário <acronym title="HyperText Markup Language">HTML</acronym>) para o recurso especificado. Os dados são incluídos no corpo do comando.</p>
<p>Bom vamos agora ver um pequeno exemplo de como fazer requisições assíncronas e carregar o conteúdo dentro de um div utilizando a JQuery.</p>
<h5><acronym title="HyperText Markup Language">HTML</acronym> Principal</h5>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;carregando&quot;&gt;Carregando&lt;/div&gt;
&nbsp;
&lt;h1&gt;Cabeçalho&lt;/h1&gt;
&nbsp;
&lt;a href=&quot;conteudo1.php&quot;&gt;Conteudo 1&lt;/a&gt;
&lt;a href=&quot;conteudo2.php&quot;&gt;Conteudo 2&lt;/a&gt;
&lt;a href=&quot;conteudo3.php&quot;&gt;Conteudo 3&lt;/a&gt;
&lt;a href=&quot;conteudo4.php&quot;&gt;Conteudo 4&lt;/a&gt;
&nbsp;
&lt;div id=&quot;conteudo&quot;&gt;&lt;/div&gt;</pre></div></div>

<p>Como vimos não é nada diferente do que conhecemos, também temos os arquivos com o conteúdo que irá dentro do div #conteudo:</p>
<h5>conteudo1.php</h5>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h1</span>&gt;</span> Conteudo 1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Donec scelerisque aliquet nunc id mattis. Aliquam auctor bibendum massa at dapibus. Suspendisse ante metus, ornare vitae venenatis vitae, posuere sit amet risus. Nam lacus orci, placerat ut tincidunt nec, tincidunt mollis nisl? Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse id arcu sed urna tincidunt semper. Mauris eu mauris nec est euismod dapibus. Suspendisse imperdiet est id purus placerat consectetur. Curabitur interdum ipsum vitae lacus tincidunt nec elementum nunc consectetur. Etiam dapibus felis non nisl tempor lobortis. Mauris commodo varius ligula eget posuere. Suspendisse ligula arcu, tincidunt dictum varius in, bibendum in purus. Maecenas faucibus, lorem vel fermentum vehicula, dui magna dignissim mauris, viverra egestas magna eros eu lorem. Donec facilisis felis suscipit dui blandit eget commodo erat feugiat. Proin eget diam risus.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span></pre></div></div>

<h5>conteudo2.php</h5>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span> Conteudo 2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Nullam non metus risus, in congue velit. Mauris vitae est massa! Nunc suscipit iaculis varius. Suspendisse eros neque, consectetur ut tincidunt sed, placerat eget ipsum? Phasellus eget mauris libero. Donec elit nunc, varius nec auctor vitae, dapibus non turpis. Donec cursus malesuada quam, id accumsan ante imperdiet ac. Donec purus lorem, fringilla fermentum tempus a, porta quis velit. Morbi quis arcu magna, in ultrices neque? Nullam molestie ultricies nibh placerat varius?<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span></pre></div></div>

<h5>conteudo3.php</h5>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h3</span>&gt;</span> Conteudo 3<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h3</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Vestibulum eget tellus eros. Mauris et ante id diam malesuada dignissim. Nam vel sem pulvinar velit tincidunt sodales id et ipsum. Cras magna turpis; egestas non dignissim id; malesuada vel velit! Vivamus libero lorem; congue ut auctor sed; rhoncus mattis magna. Sed eget purus ac ante feugiat laoreet! Aliquam erat volutpat. Duis eu nisi ac metus interdum lobortis eget vitae enim. Nunc adipiscing accumsan magna, at rutrum tortor condimentum ac. Sed lobortis adipiscing erat, faucibus blandit odio mollis in. Integer ipsum justo, varius ac malesuada in, laoreet vitae lacus. Donec varius mauris nec dui tristique aliquet. Donec eros arcu, tristique eget fringilla sit amet, feugiat vel leo. Ut elit justo, elementum ut convallis in, consequat in eros. Proin a leo sed dolor aliquam ultrices.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span></pre></div></div>

<h5>conteudo4.php</h5>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h4</span>&gt;</span> Conteudo 4<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h4</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Cras porta, tellus eu elementum pulvinar, tellus nulla tempus neque, ac posuere sem sem varius quam? Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse lobortis feugiat ante interdum facilisis. Proin ante velit, congue vel lobortis a, commodo id risus. Ut sapien turpis, convallis condimentum suscipit in, imperdiet ut ante. Nullam molestie cursus leo, quis luctus risus bibendum quis? Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse lacus nulla; tincidunt consequat rhoncus sed, suscipit sit amet tellus. Fusce faucibus, justo quis mollis volutpat, ligula est sodales dui; eu dictum ante urna vitae ipsum. Vivamus elementum leo et dui viverra blandit. Nunc ac blandit tellus. Sed dui nibh, porttitor nec sagittis quis, commodo tincidunt libero.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span></pre></div></div>

<p>Bom com os arquivos <strong><acronym title="HyperText Markup Language">HTML</acronym> </strong>prontos vamos ao que interessa, o código Javascript que é responsável pelas requisições assíncronas pelo método <strong>GET</strong>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">  $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
           <span style="color: #003366; font-weight: bold;">var</span> href <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
           $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'javascript:void(0)'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
           $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       	    	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#carregando&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'slow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 $.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span> href <span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#carregando&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'slow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Na linha 2 utilizamos o método <strong>each</strong> que para cada elemento encontrado pelo seletor, no caso &#8220;a&#8221;(links), ele vai executar a função definida que captura a <acronym title="Uniform Resource Locator">URL</acronym> do atributo <strong>href</strong> do link e armazena em uma variável (linha 3), seta o atributo <strong>href</strong> para não apontar mais para nenhum link(linha 4), adiciona o evento <strong>click</strong> (linha 5), dentro do evento <strong>click</strong> limpamos o <em>div</em> <strong>#conteudo</strong> (linha 6), mostramos a mensagem de carregando (linha 7) e utilizamos o método <strong>$.get(url,function(data){})</strong> que realmente faz a mágica( linha 8).</p>
<p>O método <strong>$.get(url,function(data){})</strong> faz a requisição assíncrona com o servidor e passa para a função passada por parâmetro o retorno do servidor na variável data.</p>
<p>Após receber o retorno do servidor jogamos este retorno dentro da <em>div</em> <strong>#conteudo</strong>(linha 9) e escondemos a mensagem de carregando (linha 10).</p>
<p>Para ver o exemplo funcionando <a href="http://www.botecodigital.info/exemplos/ajax/" target="_blank">clique aqui</a></p>
<p>Veremos agora como criar um formulário utilizando <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> pelo método <strong>POST</strong>:</p>
<h5><acronym title="HyperText Markup Language">HTML</acronym></h5>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;carregando&quot;</span>&gt;</span>Carregando<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;mensagem&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">form</span> <span style="color: #000066;">action</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;processapost.php&quot;</span> <span style="color: #000066;">method</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;post&quot;</span>&gt;</span>
&nbsp;
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span> <span style="color: #000066;">for</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;nome&quot;</span>&gt;</span>Nome:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;nome&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
&nbsp;
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span> <span style="color: #000066;">for</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;email&quot;</span>&gt;</span>E-mail<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;email&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
&nbsp;
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;submit&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Enviar&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span></pre></div></div>

<h5>Script que processa a requisição POST (processapost.php)</h5>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">        Dados enviados:&lt;br /&gt;&lt;br /&gt;
       <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Nome: &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'nome'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
       &lt;br /&gt;
       <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;E-mail: &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'email'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<h5>E o código Javascript:</h5>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">  $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #003366; font-weight: bold;">var</span> action <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'form'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'action'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'form'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'action'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'javascript:void(0);'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'form'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">submit</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
       	    	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#carregando&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'slow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
                 $.<span style="color: #660066;">post</span><span style="color: #009900;">&#40;</span>action <span style="color: #339933;">,</span>jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;form&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">serialize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>  <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#mensagem'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#mensagem'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#carregando&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'slow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Na linha 2 capturamos a <acronym title="Uniform Resource Locator">URL</acronym> que irá processar e retornar os valores do nosso formulário e depois (linha 3) configuramos para que o formulário não envie a requisição como faria normalmente, e configuramos o evento <strong>submit</strong> (linha 4) que é ativado quando o formulário é enviado.</p>
<p>Quando isto acontecer ele irá mostrar a mensagem de carregando (linha 5) e utilizamos o método <strong>$.post(url ,dados, function(data)){}</strong> que faz uma requisição via <strong>POST</strong> para <strong>url</strong>, enviando um array <strong>dados</strong> e após executa a função recebendo por parâmetro <strong>data</strong> com o retorno do servidor. Na linha 9 inserimos o retorno da requisição na <strong>div #mensagem</strong>, deixamos visível esta <strong>div</strong> e por fim escondemos a mensagem de carregando(linha 11).</p>
<p>Os dados enviados são passados na forma de array no fomato:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"> <span style="color: #009900;">&#123;</span> var1<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;valor1&quot;</span><span style="color: #339933;">,</span> var2<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;valor2&quot;</span> <span style="color: #009900;">&#125;</span></pre></div></div>

<p>ou na forma de string:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"> var1<span style="color: #339933;">=</span>valor<span style="color: #339933;">&amp;</span>var2<span style="color: #339933;">=</span>valor</pre></div></div>

<p>Como vimos no exemplo utilizamos <strong>jQuery(&#8220;form&#8221;).serialize(),  </strong> que converte um conjunto de <em>inputs</em> em uma string no segundo formato.</p>
<p>Para ver o exemplo funcionando <a href="http://www.botecodigital.info/exemplos/ajax/post.php" target="_blank">clique aqui</a></p>
<p>Este foi o tão aguardado artigo sobre <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> com JQuery, os exemplos são bastante simples mas com um pouco de criatividade dá para fazer coisas bem legais.</p>
<p>Até mais &#8220;Vida longa e prospera!&#8221;</p>]]></content:encoded>
			<wfw:commentRss>http://www.botecodigital.info/web/introducao-ao-ajax-com-jqurey/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Animando com JQuery</title>
		<link>http://www.botecodigital.info/web/animando-com-jquery/</link>
		<comments>http://www.botecodigital.info/web/animando-com-jquery/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 00:27:56 +0000</pubDate>
		<dc:creator>Rodrigo Aramburu</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[animacao]]></category>
		<category><![CDATA[animate]]></category>
		<category><![CDATA[efetos]]></category>
		<category><![CDATA[fadein]]></category>
		<category><![CDATA[fadeout]]></category>
		<category><![CDATA[hide]]></category>
		<category><![CDATA[show]]></category>
		<category><![CDATA[slideToggle]]></category>
		<category><![CDATA[toggle]]></category>

		<guid isPermaLink="false">http://botecodigital.g8si.com/?p=241</guid>
		<description><![CDATA[Olá pessoal como já vimos o básico para se trabalhar com a biblioteca JQuery em um artigo anterior vamos apresentar hoje alguns métodos de animação. show() e hide() Para começar vamos simplesmente esconder e mostrar um elemento da página para isso utilizamos o método hide() para esconder e o método show() para mostrá-lo. 1 2 3 4 5 6 7 8 9 $&#40;'#conteudo'&#41;.hide&#40;&#41;; &#160; $&#40;'.elemento'&#41;.click&#40;function&#40;&#41;&#123; $&#40;'#conteudo'&#41;.show&#40;'slow'&#41;; &#125;&#41;; &#160; $&#40;'.elemento2'&#41;.click&#40;function&#40;&#41;&#123; $&#40;'#conteudo'&#41;.hide&#40;'fast'&#41;; &#125;&#41;; demo A maior parte dos métodos de animação da [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal como já vimos o básico para se trabalhar com a biblioteca JQuery em um <a href="http://www.botecodigital.info/javascript/iniciando-com-jquery">artigo anterior</a> vamos apresentar hoje alguns métodos de animação.</p>
<h3>show() e hide()</h3>
<p>Para começar vamos simplesmente esconder e mostrar um elemento da página para isso utilizamos o método  <strong>hide()</strong> para esconder e o método <strong>show()</strong> para mostrá-lo.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.elemento'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'slow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.elemento2'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'fast'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><a href="http://www.botecodigital.info/exemplos/show.php" target="_blank">demo</a></p>
<p>A maior parte dos métodos de animação da JQuery aceitam um parâmetro que define sua velocidade de animação em milissegundos. Existem também dois valores <em>default</em> que também podem ser usados: <strong>slow</strong> que equivale a 600 milissegundos e o <strong>fast</strong> que equivale a 400 milissegundos.</p>
<p>Se nenhum parâmetro for especificado para os métodos <strong>show()</strong> e <strong>hide()</strong> ele executarão sem nenhuma animação simplesmente aparecendo/desaparecendo.</p>
<h3>toogle() e slideToggle()</h3>
<p>Um efeito bastante utilizado é o de clicar em um elemento para mostrar outro e clicar novamente no mesmo <em>link</em> para esconde-lo sendo que para isso ele desliza na tela. Estes efeitos são implementados pela JQuery pelos métodos <strong>toggle</strong> e <strong>slideToggle()</strong>.</p>
<p>Se você precisar apenas deslizar o elemento para cima ou para baixo e não permitir que ele volte a posição original você também pode utilizar os métodos <strong>slideUp()</strong> e <strong>slideDown()</strong>.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a.l1'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'slow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a.l2'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideToggle</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'slow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><a href="http://www.botecodigital.info/exemplos/slidetoggle.php" target="_blank">demo</a></p>
<h3>fadeIn() e fadeOut()</h3>
<p>Outros efeitos interessantes são os <strong>fadeIn()</strong> e o <strong>fadeOut()</strong> que faz o efeito de esmaecer, ou seja, o elemento vai ficando transparente até sumir, ou o contrário.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a.fadein'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeIn</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a.fadeout'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeOut</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><a href="http://www.botecodigital.info/exemplos/fade.php" target="_blank">demo</a></p>
<h3>Animate</h3>
<p>O método <strong>animate</strong> permite uma grande flexibilidade de animação, já consegui até fazer uma abertura de site ao estilo flash utilizando-o.</p>
<p>O <strong>animate()</strong> permite modificar várias propriedades do elemento alvo como largura, altura, opacidade, posição, margem, etc.</p>
<p>O verdadeiro poder deste método é que ele permite ser chamado várias vezes em sequência permitindo animações bastante complexas.</p>
<p>Para chamar o método <strong>animate()</strong> uilizamos dois parâmetros com as propriedades que serão modificadas e a velocidade desta animação. Segue abaixo uma pequena lista de parâmetros que o método <strong>animate()</strong> aceita.</p>
<ul>
<li><strong>width:</strong> Largura do elemento</li>
<li><strong>height:</strong> Altura do elemento</li>
<li><strong>opacity:</strong> Transparencia do elemento</li>
<li><strong>marginLeft:</strong> Margem esquerda</li>
<li><strong>marginTop:</strong> Margem superior</li>
<li><strong>marginRight:</strong> Margem direita</li>
<li><strong>marginBottom:</strong> Margem inferior</li>
<li><strong>top:</strong> Posição em relação ao topo(somente funciona se a propriedade positon do <acronym title="Cascading Style Sheets">CSS</acronym> estiver em absolute)</li>
<li><strong>left:</strong> Posição em relação a esquerda(somente funciona se a propriedade positon do <acronym title="Cascading Style Sheets">CSS</acronym> estiver em absolute)</li>
<li><strong>fontSize:</strong> Tamanho da fonte</li>
<li><strong>borderWidth:</strong> Tamanho da Borda</li>
</ul>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">         $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>width<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;400&quot;</span><span style="color: #339933;">,</span>opacity <span style="color: #339933;">:</span> <span style="color: #CC0000;">0.2</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1200</span><span style="color: #009900;">&#41;</span>
            .<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>height<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;400&quot;</span><span style="color: #339933;">,</span>opacity <span style="color: #339933;">:</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #CC0000;">1200</span><span style="color: #009900;">&#41;</span>
            .<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>opacity <span style="color: #339933;">:</span> <span style="color: #CC0000;">0.2</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><a href="http://www.botecodigital.info/exemplos/animate.php" target="_blank">demo</a></p>
<p>Bom foi isso, espero que tenham gostado, desculpem pelo atraso do post, falta de energia no final de semana(da companhia de eletricidade e minha <img src='http://www.botecodigital.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
<p>Fiquem atentos no próximo post vamos brincar um pouco com ajax com JQuery.</p>
<p>T++.c</p>]]></content:encoded>
			<wfw:commentRss>http://www.botecodigital.info/web/animando-com-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iniciando com JQuery</title>
		<link>http://www.botecodigital.info/jquery/iniciando-com-jquery/</link>
		<comments>http://www.botecodigital.info/jquery/iniciando-com-jquery/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 20:01:42 +0000</pubDate>
		<dc:creator>Rodrigo Aramburu</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[.addClass]]></category>
		<category><![CDATA[attr]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[removeClass]]></category>
		<category><![CDATA[val()]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://botecodigital.g8si.com/?p=184</guid>
		<description><![CDATA[Trabalhar com javascript sempre foi uma grande dor de cabeça dos desenvolvedores web, o principal motivo é a incompatibilidade e a dificuldade de manipular o DOM. Visando solucionar este problema surgiu uma biblioteca que facilita bastante a vida de quem trabalha com javascript a JQuery. Uma biblioteca que permite manipular e selecionar elementos do DOM de forma muito fácil. Você pode baixá-la pelo seguinte endereço jquery.js ou também pode utilizá-la pelo google pelo seguinte link &#8220;http://jqueryjs.googlecode.com/files/jquery-1.3.2.js&#8221; e deve ser inserida [...]]]></description>
			<content:encoded><![CDATA[<p>Trabalhar com javascript sempre foi uma grande dor de cabeça dos desenvolvedores web, o principal motivo é a incompatibilidade e a dificuldade de manipular o <a href="http://pt.wikipedia.org/wiki/Modelo_de_Objeto_de_Documentos" target="_blank"> <acronym title="Document Object Model - Modelo de Objetos de Documentos"><acronym title="Document Object Model">DOM</acronym></acronym></a>.</p>
<p>Visando solucionar este problema surgiu uma biblioteca que facilita bastante a vida de quem trabalha com javascript a  <a href="http://www.jquery.com" target="_blank">JQuery</a>. Uma biblioteca que permite manipular e selecionar elementos do <acronym title="Document Object Model - Modelo de Objetos de Documentos"><acronym title="Document Object Model">DOM</acronym></acronym> de forma muito fácil.</p>
<p>Você pode baixá-la pelo seguinte endereço <a href="http://docs.jquery.com/Downloading_jQuery" target="_blank">jquery.js</a> ou também pode utilizá-la pelo google pelo seguinte link &#8220;<a href="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js">http://jqueryjs.googlecode.com/files/jquery-1.3.2.js</a>&#8221;  e deve ser inserida na <em>tag head</em> (&lt;script src=&#8221;jquery.js&#8221;&gt;&lt;/script&gt;).</p>
<p>Vamos aos exemplos:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;content&quot;&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Teste1&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Teste2&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Teste3&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Teste4&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Teste5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</pre></td></tr></table></div>

<p>Bom vamos começar por um clássico quando clicarmos no link exibiremos a mensagem <strong>Hellos World</strong>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Hello World&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Antes de explicarmos o código vale chamar atenção para <strong>função <em>$()</em> ela recebe por parâmetro um seletor que identificará um elemento <acronym title="HyperText Markup Language">HTML</acronym> e é através desta função chamaremos outras funções da biblioteca jQuery utilizando o operador &#8220;.&#8221;</strong> .</p>
<p>No nosso exemplo a primeira coisa que fazemos é selecionarmos o  <strong>document</strong> ou seja o documento <acronym title="HyperText Markup Language">HTML</acronym> em si e utilizarmos a função <em>ready</em> que executa a função passada para ela por parâmetro quando o <acronym title="Document Object Model - Modelo de Objetos de Documentos"><acronym title="Document Object Model">DOM</acronym></acronym> estiver pronto, ou seja, a página estiver carregada. Este é um recurso essencial já que sem ele as funções podem serem executadas sem que seus alvos(seletores) tenham sido carregados.</p>
<p>Na linha 2 selecionamos o elemento &#8220;<em>a</em>&#8221; ou seja os links da página e chamamos a função <em>click</em> e passamos por parâmetro uma função que exibe um <em>alert(&#8220;Hello World&#8221;)</em>. A função <em>click</em> é, resumidamente, uma alias para o atributo <em>onclick</em> do elemento, então agora em qualquer link que clicarmos na página será exibida a mensagem &#8220;Hello World&#8221;.</p>
<p>Esta é uma das maiores facilidades que a JQuery proporciona, <strong>permitir que utilizemos seletores <acronym title="Cascading Style Sheets"><acronym title="Cascading Style Sheets">CSS</acronym></acronym> para selecionarmos os elementos do <acronym title="Document Object Model">DOM</acronym></strong>. Podemos desta forma selecionar os elementos com muita facilidade como por exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'h3'</span><span style="color: #009900;">&#41;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.botao'</span><span style="color: #009900;">&#41;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#conteudo'</span><span style="color: #009900;">&#41;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.content li a'</span><span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>Na linha 1 selecionamos todos os elementos <em>h3</em> da página, na 2 todos os elementos da classe <em>botao</em> na linha 3 selecionamos o elemento que tiver o id <em>conteudo</em>, na linha 4 selecionamos todos os elementos que <em>a</em> que estiverem dentro de um elemento <em>li</em> que estiverem dentro de um elemento que pertença a classe <em>content</em>.</p>
<p>Um outro seletor muito importante é o <strong><em> $(this)</em></strong> com ele é possível acessar a referência do elemento que chamou o método como vemos no exemplo asseguir.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco a'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'title'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h3>Métodos mais comuns da JQuery</h3>
<p>Vamos fazer agora uma pequena introdução à alguns métodos do JQuery:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Retorna o <acronym title="HyperText Markup Language">HTML</acronym> que estiver dentro do elemento.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Texto aqui&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Insere o texto passado por parâmentro dentro do elemento. Elimimando o conteúdo antigo.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Texto aqui&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Adiciona o texto enviado por parâmetro no final do conteúdo do elemento selecionado.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco a'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'title'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'Boteco Digital'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Define o valor para uma propriedade do elemento selecionado.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco a'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'title'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Retorna o valor de uma propriedade do elemento selecionado.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco input'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Retorna o valor de campo do formulário.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;vermelho&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Adiciona a classe passada por parâmetro ao elemento selecionado.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hover</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;verde&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;verde&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Simula o :hover, quando o mouse estiver sobre o elemento selecionado executa a linha 2, quando o mouse saber de cima do elemento selecionado executa a linha 4.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'#CCC'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Define propriedade <acronym title="Cascading Style Sheets">CSS</acronym> para um elemento selecionado.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background-color'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Retorna o valor da propriedade <acronym title="Cascading Style Sheets">CSS</acronym>.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#bloco select'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">change</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Executa a função passada por parâmetro quando o elemento selecionado for alterado<br />
</p>
<p>Mais funções podem ser encontradas <a href="http://docs.jquery.com/Events" target="_blank">aqui</a>.</p>
<p>Pessoal comentem o que acharam, se está claro. No próximo artigo irei ensinar como fazer um pouco de animação com JQuery.</p>
<p>T++.c</p>]]></content:encoded>
			<wfw:commentRss>http://www.botecodigital.info/jquery/iniciando-com-jquery/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
