<?xml version="1.0" encoding="UTF8"?>
<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>Casal 10 &#187; laboratório nerd</title>
	<atom:link href="http://casal10.evonblogs.com.br/bytes/category/laboratorionerd/feed" rel="self" type="application/rss+xml" />
	<link>http://casal10.evonblogs.com.br</link>
	<description>As desventuras de um casal nérdico</description>
	<lastBuildDate>Fri, 27 Jan 2012 18:07:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Removendo a tag BR do código</title>
		<link>http://casal10.evonblogs.com.br/bytes/2394</link>
		<comments>http://casal10.evonblogs.com.br/bytes/2394#comments</comments>
		<pubDate>Fri, 27 Jan 2012 17:59:11 +0000</pubDate>
		<dc:creator>Edson</dc:creator>
				<category><![CDATA[laboratório nerd]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[programando sem tabelas]]></category>
		<category><![CDATA[quebrando linha via css]]></category>
		<category><![CDATA[Tableless]]></category>
		<category><![CDATA[tag br]]></category>

		<guid isPermaLink="false">http://casal10.evonblogs.com.br/?p=2394</guid>
		<description><![CDATA[
1
2
3
4
5
#PHP VS  JAVA
//JAVA VS PYTHON
/*C++ VS JAVA*/
'JAVA VS .NET
out.println(&#34;EU NAO SEI PROGRAMAR NADA!&#34;);

Você já deve ter ouvido falar que a tag BR está marcada como obsoleta (deprecated) pela W3C, assim como a b, font, i etc. Cada tem seus motivos. 
Agora o HTML é separado em 3 camadas, HTML (conteúdo), CSS (estilo), JS (parte [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_codebox"><table width="100%" ><tr id="p23944"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p2394code4"><pre class="javascript" style="font-family:monospace;">#PHP VS  JAVA
<span style="color: #006600; font-style: italic;">//JAVA VS PYTHON</span>
<span style="color: #009966; font-style: italic;">/*C++ VS JAVA*/</span>
<span style="color: #3366CC;">'JAVA VS .NET
out.println(&quot;EU NAO SEI PROGRAMAR NADA!&quot;);</span></pre></td></tr></table></div>

<p>Você já deve ter ouvido falar que a tag BR está marcada como obsoleta (deprecated) pela W3C, assim como a b, font, i etc. Cada tem seus motivos. </p>
<p>Agora o HTML é separado em 3 camadas, HTML (conteúdo), CSS (estilo), JS (parte dinâmica). Todas as tags ficam dentro do arquivo HTML e cada tag trás alguma informação, algum conteúdo. Porém BR é uma tag de estilo e não de conteúdo. Br significa pular uma linha, e isso é forma e estilo e não tem significado algum pro documento, então não é o lugar dele no HTML. Para pular a linha, deve-se usar o css pois é no css que tem todas as informações de como o conteúdo deverá aparecer.</p>
<p>Vou supor que você já tenha um conhecimento básico de CSS. Oras, se você quer pular uma linha numa lista, é fácil. Basta usar ul e li que cada item irá aparecer numa nova linha. Isto é tranquilo. </p>
<p>Se você estiver usando componentes com float, você pode usar o clear (clear:left, clear:right, etc) e isso fará o elemento ser desenhado na linha debaixo.</p>
<p>Se é uma parágrafo, ok também. Por padrão, todos os navegadores pulam uma linha para a tag P.</p>
<p>Mas nem tudo são flores, veja o exemplo abaixo:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p23945"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p2394code5"><pre class="html" style="font-family:monospace;">&lt;div&gt;
    &lt;label id=&quot;teste1&quot;&gt;teste&lt;/label&gt;&lt;input&gt;
    &lt;label id=&quot;teste2&quot;&gt;teste&lt;/label&gt;&lt;input&gt;
    &lt;label id=&quot;teste3&quot;&gt;teste&lt;/label&gt;&lt;input&gt;
&lt;/div&gt;</pre></td></tr></table></div>

<p>Digamos que tenho a intenção de fazer o label vir antes do input e pular uma linha antes de cada label. Não é um parágrafo, não quero usar float (até porque usar float no site inteiro muitas vezes é perigoso) e óbviamente não quero usar a tag BR.</p>
<p>Como ficaria o CSS ?</p>

<div class="wp_codebox"><table width="100%" ><tr id="p23946"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p2394code6"><pre class="css" style="font-family:monospace;">div label<span style="color: #3333ff;"><span style="color: #00AA00;">:</span>before
</span><span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\a</span>'</span> <span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">white-space</span><span style="color: #00AA00;">:</span> pre<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Simples assim. O significado é, antes da label coloca-se uma quebra de linha &#8216;\a&#8217;. Para saber sobre outros caracteres de scapes, veja o texto <a href="http://www.merttol.com/articles/web/code/introduction-to-css-escape-sequences.html">Introduction to css escape sequences</a>.</p>
<p>Para ver funcionando, e testar:<br />
 <a href='http://casal10.evonblogs.com.br/wp-content/uploads/2012/01/teste.html'>teste</a></p>
]]></content:encoded>
			<wfw:commentRss>http://casal10.evonblogs.com.br/bytes/2394/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neve² !</title>
		<link>http://casal10.evonblogs.com.br/bytes/2381</link>
		<comments>http://casal10.evonblogs.com.br/bytes/2381#comments</comments>
		<pubDate>Tue, 20 Dec 2011 19:28:25 +0000</pubDate>
		<dc:creator>Edson</dc:creator>
				<category><![CDATA[laboratório nerd]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[neve]]></category>

		<guid isPermaLink="false">http://casal10.evonblogs.com.br/?p=2381</guid>
		<description><![CDATA[Ano passado eu coloquei aqui um script para gerar neve. Este ano vou repetir a dose, mas desta vez eu fiz o script em JQuery. Ficou mais pesado mas também ficou mais fácil de dar manutenção. E também não tem os erros que havia no outro (com xml e afins).
Abaixo o fonte para download (e [...]]]></description>
			<content:encoded><![CDATA[<p>Ano passado eu coloquei aqui um <a href="http://casal10.evonblogs.com.br/bytes/951">script </a>para gerar neve. Este ano vou repetir a dose, mas desta vez eu fiz o script em JQuery. Ficou mais pesado mas também ficou mais fácil de dar manutenção. E também não tem os erros que havia no outro (com xml e afins).</p>
<p>Abaixo o fonte para download (e nem é necessário dizer que precisa ter JQuery para rodá-lo):<br />
<a href='http://casal10.evonblogs.com.br/wp-content/uploads/2011/12/jquery-snow.js'>jquery-snow</a></p>
<p>Para usar o plugin, basta :</p>

<div class="wp_codebox"><table width="100%" ><tr id="p23818"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p2381code8"><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>init<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				$.<span style="color: #660066;">fn</span>.<span style="color: #660066;">snow</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://casal10.evonblogs.com.br/bytes/2381/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gambiarra</title>
		<link>http://casal10.evonblogs.com.br/bytes/2365</link>
		<comments>http://casal10.evonblogs.com.br/bytes/2365#comments</comments>
		<pubDate>Mon, 31 Oct 2011 19:07:37 +0000</pubDate>
		<dc:creator>Edson</dc:creator>
				<category><![CDATA[jabá]]></category>
		<category><![CDATA[laboratório nerd]]></category>
		<category><![CDATA[gambiarra]]></category>
		<category><![CDATA[programação ruim]]></category>

		<guid isPermaLink="false">http://casal10.evonblogs.com.br/?p=2365</guid>
		<description><![CDATA[Ola,
durante a minha vida de analista de sistemas eu já vi muita coisa bizarra e mal feita. Muitas feitas até por mim mesmo no início de carreira =)
Outras feitas por amigos e colegas de profissão, estagiários (que deveriam estar aprendendo e não mexendo em código) e programadores Jr.
O que eu nunca tinha pensado em fazer [...]]]></description>
			<content:encoded><![CDATA[<p>Ola,</p>
<p>durante a minha vida de analista de sistemas eu já vi muita coisa bizarra e mal feita. Muitas feitas até por mim mesmo no início de carreira =)</p>
<p>Outras feitas por amigos e colegas de profissão, estagiários (que deveriam estar aprendendo e não mexendo em código) e programadores Jr.</p>
<p>O que eu nunca tinha pensado em fazer era juntar todas estas pérolas, e quando comecei a juntar vi que não eram poucas, ainda mais quando comecei a receber contribuições. Então montei um site apenas com estas preciosidades, espero que a comunidade nerd aproveite : </p>
<p><a href="http://gambiarra.evonblogs.com.br/">http://gambiarra.evonblogs.com.br/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://casal10.evonblogs.com.br/bytes/2365/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dump muito grande? Erro de max_allowed_packet ?</title>
		<link>http://casal10.evonblogs.com.br/bytes/2361</link>
		<comments>http://casal10.evonblogs.com.br/bytes/2361#comments</comments>
		<pubDate>Tue, 18 Oct 2011 22:45:21 +0000</pubDate>
		<dc:creator>Edson</dc:creator>
				<category><![CDATA[laboratório nerd]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[max_allowed_packet]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[timeout]]></category>

		<guid isPermaLink="false">http://casal10.evonblogs.com.br/?p=2361</guid>
		<description><![CDATA[ Quando fazemos um dump de um banco de dados Mysql, e depois efetuamos a restauração, sempre corremos o risco de  dar o famoso erro max allowed packet. Isto ocorre pois o servidor tem um limite de quanto ele aceita receber em bytes de uma determinada query (no caso provavelmente será um include). O [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_2271" class="wp-caption alignleft" style="width: 160px"><a href="http://casal10.evonblogs.com.br/wp-content/uploads/2011/09/logo-mysql-300x218.jpg"><img src="http://casal10.evonblogs.com.br/wp-content/uploads/2011/09/logo-mysql-300x218-150x150.jpg" alt="mysql" title="mysql" width="150" height="150" class="size-thumbnail wp-image-2271" /></a><p class="wp-caption-text">mysql</p></div> Quando fazemos um dump de um banco de dados <a href="http://www.mysql.com/">Mysql</a>, e depois efetuamos a restauração, sempre corremos o risco de  dar o famoso erro max allowed packet. Isto ocorre pois o servidor tem um limite de quanto ele aceita receber em bytes de uma determinada query (no caso provavelmente será um include). O default vem mudando ao longo do tempo mas isto se resolve facilmente, para tal basta editar o arquivo mysql.ini que fica na pasta de instalação do seu servidor (no linux mysql.cnf  ). A linha a ser adicionada deve ser feita embaixo da chave [mysqld] :</p>
<p>max_allowed_packet=16M</p>
<p>Se mesmo assim não resolver, experimente aumentar para 32M e assim por diante. </p>
<p><H3>Agora o erro mudou </h3>
<p>Começou a dar timeout? Server has gone away?<br />
Fácil, significa que estamos no caminho certo. Esta mensagem significa que de tão grande o pacote, deu timeout na comunicação. Experimente adicionar mais estes parâmetros embaixo da linha max_allowed_packet.</p>
<p>wait_timeout=60000<br />
connect_timeout=60000<br />
net_read_timeout=60000</p>
<p>Se mesmo assim não resolver, experimente aumentar ainda mais o limite.</p>
<p><H3>Agora o erro mudou de novo </h3>
<p>Chame um padre!</p>
]]></content:encoded>
			<wfw:commentRss>http://casal10.evonblogs.com.br/bytes/2361/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logando tudo que se passa pelo MYSQL</title>
		<link>http://casal10.evonblogs.com.br/bytes/2269</link>
		<comments>http://casal10.evonblogs.com.br/bytes/2269#comments</comments>
		<pubDate>Mon, 05 Sep 2011 18:11:23 +0000</pubDate>
		<dc:creator>Edson</dc:creator>
				<category><![CDATA[laboratório nerd]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[wraper]]></category>

		<guid isPermaLink="false">http://casal10.evonblogs.com.br/?p=2269</guid>
		<description><![CDATA[O Mysql é um banco de dados incrível, não é mesmo? Ele é fácil de instalar, leve, seus comandos fazem sentido, todos os aplicativos famosos de php (e de outras linguagens) usam ele . Perfeito!
Mas como fazer pra saber o que está acontecendo no seu banco de dados, tal como fazemos no SQL Server e [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_2271" class="wp-caption alignleft" style="width: 160px"><a href="http://casal10.evonblogs.com.br/wp-content/uploads/2011/09/logo-mysql-300x218.jpg"><img src="http://casal10.evonblogs.com.br/wp-content/uploads/2011/09/logo-mysql-300x218-150x150.jpg" alt="mysql" title="mysql" width="150" height="150" class="size-thumbnail wp-image-2271" /></a><p class="wp-caption-text">mysql</p></div>O Mysql é um banco de dados incrível, não é mesmo? Ele é fácil de instalar, leve, seus comandos fazem sentido, todos os aplicativos famosos de php (e de outras linguagens) usam ele . Perfeito!</p>
<p>Mas como fazer pra saber o que está acontecendo no seu banco de dados, tal como fazemos no SQL Server e outros bancos de grande porte?</p>
<p>Muitas vezes precisamos acompanhar o que está sendo enviado pro banco para termos uma idéia do problema. Vou ensinar algumas maneiras e a primeira é via arquivo de configuração.</p>
<p><H2>Arquivo de configuração</h2>
<p>O mysql tem um arquivo de configuração chamado mysql.ini, e uma configuração que nem sempre vem no arquivo é a de poder logar tudo que ocorre no seu database. A sintaxe é:</p>
<p>mysql.ini</p>

<div class="wp_codebox"><table width="100%" ><tr id="p226914"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2269code14"><pre class="javascript" style="font-family:monospace;">general_log_file<span style="color: #339933;">=</span>\seucaminhoparaolog\generalLog.<span style="color: #660066;">txt</span></pre></td></tr></table></div>

<p><H2>Information_Scheme</h2>
<p>Outra maneira é consultando na tabela de meta-dados do mysql, a Information_Scheme. Para tal use a seguinte consulta:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p226915"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2269code15"><pre class="javascript" style="font-family:monospace;">SELECT TABLE_NAME<span style="color: #339933;">,</span> CREATE_TIME<span style="color: #339933;">,</span> UPDATE_TIME FROM information_schema.<span style="color: #660066;">tables</span> WHERE TABLE_SCHEMA <span style="color: #339933;">=</span> <span style="color: #3366CC;">'nomedasuabase'</span> ORDER BY `tables`.`UPDATE_TIME` DESC</pre></td></tr></table></div>

<p>Onde nomedasuabase é, obviamente, o nome da sua base.</p>
<p><H2>Wraper</h2>
<p>Digamos que você não tem este controle todo sobre o seu servidor, você não tem acesso ao mysql.ini e nem ao database scheme. Então a saída seria usar um wraper.</p>
<p>Wrapper é quando você adapta uma classe para uma determinada interface, não sei se o termo é um bom caso aqui mas é como eu chamo.  Vou usar o Java como exemplo mas funciona com qualquer linguagem. </p>
<p>O objetivo é criar uma classe de conexão que você vai usar no lugar da classe original, para tal, cada método você irá rechamar a classe original de conexão, exemplo:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p226916"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code" id="p2269code16"><pre class="javascript" style="font-family:monospace;">&nbsp;
<span style="color: #003366; font-weight: bold;">public</span> <span style="color: #003366; font-weight: bold;">class</span> ConexaoFake
<span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">private</span> Conexao <span style="color: #339933;">=</span> conexao<span style="color: #339933;">;</span>
&nbsp;
....
   <span style="color: #003366; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> <span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
        conexao.<span style="color: #000066;">open</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;">&#125;</span></pre></td></tr></table></div>

<p>Faça isto com todos os métodos e funcionalidades, depois as que receberem parâmetros você loga:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p226917"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code" id="p2269code17"><pre class="javascript" style="font-family:monospace;">&nbsp;
   <span style="color: #003366; font-weight: bold;">public</span> Resultset execute <span style="color: #009900;">&#40;</span>String sql<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
        System.<span style="color: #660066;">out</span>.<span style="color: #660066;">println</span><span style="color: #009900;">&#40;</span>sql<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        conexao.<span style="color: #660066;">execute</span><span style="color: #009900;">&#40;</span>sql<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
....
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Claro, em vez de imprimir no console você irá imprimir no seu modelo de log preferido. Pronto, usando esta classe de conexão tudo será logado. Você pode até colocar um parâmetro de configuração para o log ser condicional, ficando algo semelhante a:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p226918"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p2269code18"><pre class="javascript" style="font-family:monospace;">&nbsp;
   <span style="color: #003366; font-weight: bold;">public</span> Resultset execute <span style="color: #009900;">&#40;</span>String sql<span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>logEnabled<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
           System.<span style="color: #660066;">out</span>.<span style="color: #660066;">println</span><span style="color: #009900;">&#40;</span>sql<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #009900;">&#125;</span>
        conexao.<span style="color: #660066;">execute</span><span style="color: #009900;">&#40;</span>sql<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
....
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>A vantagem desta solução é que funciona com qualquer banco de dados.</p>
<p><H2>Conclusão</h2>
<p>Difícil? Bom, você tem pelo menos 3 motivos para dizer que não =)</p>
]]></content:encoded>
			<wfw:commentRss>http://casal10.evonblogs.com.br/bytes/2269/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Efeito de Terremoto em seu site</title>
		<link>http://casal10.evonblogs.com.br/bytes/2220</link>
		<comments>http://casal10.evonblogs.com.br/bytes/2220#comments</comments>
		<pubDate>Wed, 06 Apr 2011 15:55:40 +0000</pubDate>
		<dc:creator>Edson</dc:creator>
				<category><![CDATA[laboratório nerd]]></category>
		<category><![CDATA[outros]]></category>
		<category><![CDATA[Efeitos]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[laboratório]]></category>
		<category><![CDATA[Terremoto]]></category>

		<guid isPermaLink="false">http://casal10.evonblogs.com.br/?p=2220</guid>
		<description><![CDATA[ Eu participo de um projeto chamado Taulukko, não sabe o que é? Vai lá e conheça !
Bom, supondo que você saiba o que seja esse palavrão, muitos usuários do site me perguntaram como fiz o efeito de terremoto na brincadeira de 1º de Abril do Taulukko
Alguns até me perguntaram se era um plugin de [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.taulukko.com.br/wp-content/uploads/2011/04/logo_jquery_215x53.gif"><img src="http://blog.taulukko.com.br/wp-content/uploads/2011/04/logo_jquery_215x53.gif" alt="" title="logo_jquery_215x53" width="215" height="53" class="alignleft size-full wp-image-1784" /></a> Eu participo de um projeto chamado <a href="http://www.taulukko.com.br">Taulukko</a>, não sabe o que é? Vai lá e conheça !</p>
<p>Bom, supondo que você saiba o que seja esse palavrão, muitos usuários do site me perguntaram como fiz o efeito de terremoto na brincadeira de 1º de Abril do Taulukko</p>
<p>Alguns até me perguntaram se era um plugin de <a href="http://br.wordpress.org/">Word Press</a>.</p>
<p>Não, tudo feito na unha =), ou quase pois usei o auxílio do <a href="http://jquery.com/">JQuery</a></p>
<h3>Importando o JQuery</h3>
<p>Bom, se você utiliza um site feito por você mesmo, para usar o JQuery basta utilizar as seguintes linhas no cabeçalho do site:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p222024"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2220code24"><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;https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Outra forma é baixar do site do JQuery da página de <a href="http://docs.jquery.com/Downloading_jQuery">download</a> e referenciar pro seu próprio servidor em vez do servidor do <a href="http://www.google.com.br/">Google</a> (exemplo acima).</p>
<h3>E se eu realmente uso Wordpress?</h3>
<p>NÃO ENTRE EM PÂNICO!!! O JQuery é muito popular entre os desenvolvedores de sites, e óbviamente o Wordpress faz uso dele. Para utilizar o jquery no WP ou você altera o header do teu site incluindo o script acima. OU você faz uso do JQuery que já está nativo no WP como ensina o site <a href="http://www.tudoparawordpress.com.br/dicas-wordpress/melhor-forma-incluir-script-jquery-wordpress/">Tudo Para Wordpress</a>.</p>
<h3>Tá, importei o JQuery e agora?</h3>
<p>O resto vai depender da importação de plugins, alguns criados por mim e outros não.</p>
<p><UL><br />
<LI><a href="http://www.zachstronaut.com/posts/2009/08/07/jquery-animate-css-rotate-scale.html">Animate CSS Rotation and Scale</a></LI><br />
<LI><a href="http://www.zachstronaut.com/posts/2009/02/22/jquery-patch-css-transform.html">CSS Transform</a></LI><br />
<LI><a href="http://blog.taulukko.com.br/wp-content/uploads/2011/04/terremoto.zip">Broken</a> (plugin meu mas pode usar a vontade, <a href="http://www.taulukko.com.br/guest/rights">licença Creative Commons do Taulukko</a>)</LI><br />
<LI><a href="http://blog.taulukko.com.br/wp-content/uploads/2011/04/terremoto.zip">Shake </a>(plugin meu mas pode usar a vontade, <a href="http://www.taulukko.com.br/guest/rights">licença Creative Commons do Taulukko</a>)</LI><br />
</UL></p>
<p>A tua tag head vai ficar +ou- assim :</p>

<div class="wp_codebox"><table width="100%" ><tr id="p222025"><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code" id="p2220code25"><pre class="javascript" style="font-family:monospace;">     <span style="color: #339933;">&lt;</span>head<span style="color: #339933;">&gt;</span>
                        <span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;js/jquery-1.5.js&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&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;js/jquery-css-transform.js&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&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;js/jquery-animate-css-rotate-scale.js&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&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;js/jquery-broken.js&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&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;js/jquery-shake.js&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
     <span style="color: #339933;">&lt;/</span>head<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Pronto, está feito a importação das bibliotecas que você vai usar não somente pra fazer o efeito de terremoto como pra outras coisas em seu site. Ok e pra fazer o tal de terremoto agora que já importei as bibliotecas?</p>
<p><H3>O terremoto</h3>
<p>Bom, chega de conversa fiada e vamos à mágica.</p>

<div class="wp_codebox"><table width="100%" ><tr id="p222026"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code" id="p2220code26"><pre class="javascript" style="font-family:monospace;">			<span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span>
&nbsp;
				<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span> $.<span style="color: #660066;">browser</span>.<span style="color: #660066;">msie</span><span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
&nbsp;
					$<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;">'body'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">shake</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;">'#menuTop'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">broken</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: #009900;">&#125;</span>
			<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Reparem que primeiro eu fiz o comando shake na tag body e depois fiz o comando broken (que quebra o elemento com efeito de gravidade) no elemento com id menuTop , veja parte do meu código pra entender o que é um id:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p222027"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p2220code27"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>UL id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;menuTop&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>LI<span style="color: #339933;">&gt;</span>...</pre></td></tr></table></div>

<p>Por padrão ele quebra o elemento a esquerda, funciona com menus ( UL ), divs ou qualquer elemento que tenha posição absoluta na tela (creio que não absoluto também mas ai é bom testar). E se quiser quebrar a direita?</p>

<div class="wp_codebox"><table width="100%" ><tr id="p222028"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2220code28"><pre class="javascript" style="font-family:monospace;">	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#quickLogin'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">broken</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>fixed<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;right&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Espero que tenham curtido, abaixo um zip com um demo =)<br />
<a href='http://blog.taulukko.com.br/wp-content/uploads/2011/04/terremoto.zip'><br />
<img src="http://blog.taulukko.com.br/wp-content/uploads/2011/04/download-icon.png" alt="" title="download-icon" width="64" height="64" class="alignleft size-full wp-image-1789" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://casal10.evonblogs.com.br/bytes/2220/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial Básico de JQuery baseado em comandos JavaScript</title>
		<link>http://casal10.evonblogs.com.br/bytes/2175</link>
		<comments>http://casal10.evonblogs.com.br/bytes/2175#comments</comments>
		<pubDate>Thu, 03 Feb 2011 14:21:02 +0000</pubDate>
		<dc:creator>Edson</dc:creator>
				<category><![CDATA[laboratório nerd]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://casal10.evonblogs.com.br/?p=2175</guid>
		<description><![CDATA[
1
2
3
4
5
#PHP VS  JAVA
//JAVA VS PYTHON
/*C++ VS JAVA*/
'JAVA VS .NET
out.println(&#34;EU NAO SEI PROGRAMAR NADA!&#34;);

HTML Exemplo
Para todo este artigo iremos usar o código HTML abaixo de exemplo. Iremos selecionar, alterar, judiar do código abaixo usando javascript e JQuery então sempre recorra a ele pra entender os códigos ou copie ele num arquivo a parte pra fácil [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_codebox"><table width="100%" ><tr id="p217563"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p2175code63"><pre class="javascript" style="font-family:monospace;">#PHP VS  JAVA
<span style="color: #006600; font-style: italic;">//JAVA VS PYTHON</span>
<span style="color: #009966; font-style: italic;">/*C++ VS JAVA*/</span>
<span style="color: #3366CC;">'JAVA VS .NET
out.println(&quot;EU NAO SEI PROGRAMAR NADA!&quot;);</span></pre></td></tr></table></div>

<p><H3>HTML Exemplo</H3></p>
<p>Para todo este artigo iremos usar o código HTML abaixo de exemplo. Iremos selecionar, alterar, judiar do código abaixo usando javascript e JQuery então sempre recorra a ele pra entender os códigos ou copie ele num arquivo a parte pra fácil referência.</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217564"><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" id="p2175code64"><pre class="html" style="font-family:monospace;">&nbsp;
&lt;INPUT type=&quot;text&quot; value=&quot;5&quot; id=&quot;txtNome&quot; class=&quot;input&quot;/&gt;
&lt;INPUT type=&quot;text&quot; value=&quot;5&quot; id=&quot;txtNome2&quot; class=&quot;input&quot;/&gt;
&lt;INPUT type=&quot;text&quot; value=&quot;5&quot; id=&quot;txtNome3&quot; class=&quot;input&quot;/&gt;
&nbsp;
&lt;INPUT type=&quot;button&quot; value=&quot;OK&quot; id=&quot;cmdOK&quot; class='botao'/&gt;
&lt;INPUT type=&quot;button&quot; value=&quot;Cancelar&quot; id=&quot;cmdCancel&quot; class='botao'/&gt;
&lt;SELECT id=&quot;cmbCidades&quot;&gt;
	&lt;OPTION value='1' selected='selected' id=&quot;cidade1&quot;&gt;Curitiba&lt;/OPTION&gt;
	&lt;OPTION value='2' id=&quot;cidade2&quot;&gt;São Paulo&lt;/OPTION&gt;
	&lt;OPTION value='3' id=&quot;cidade3&quot;&gt;Santana de Parnaíba&lt;/OPTION&gt;
	&lt;OPTION value='4' id=&quot;cidade4&quot;&gt;São José dos Pinhais&lt;/OPTION&gt;
&lt;/SELECT&gt;
&lt;P id=&quot;frase&quot; class=&quot;paragrafo&quot;&gt;Isto é uma frase&lt;/P&gt;
&lt;P id=&quot;frase2&quot; class=&quot;paragrafo&quot;&gt;Isto é uma frase&lt;/P&gt;
&lt;P id=&quot;frase3&quot; class=&quot;paragrafo&quot;&gt;Isto é uma frase&lt;/P&gt;</pre></td></tr></table></div>

<p><H3>Selecionando objetos</H3></p>
<p>Em Javascript fazemos:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217565"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code65"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> txtNome <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;txtNome&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>ou algo semelhante a :</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217566"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code66"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> txtNome <span style="color: #339933;">=</span> document.<span style="color: #660066;">forms</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">txtNome</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>O problema que este tipo de operação pode funcionar em um navegador e não em outro, ou ao menos se comportar de maneira inapropriada, ou simplesmente ele não é crossbrowser#. Com o <a href="http://jquery.com/">JQuery </a>além de ser crossbrowser.</p>
<p>No JQuery o mesmo comando ficaria assim:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217567"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code67"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> txtNome <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#txtNome&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Repare agora nos seguintes pontos:<br />
<OL><br />
   <LI>O comando é mais curto, após &#8220;decorar o comando&#8221; você evita digitação e torna a codificação mais ágil.</LI><br />
   <LI>O pedaço $(&#8230;) é conhecido no JQuery e outros frameworks como seletor, ele tem este nome pois ele ajuda a selecionar objetos da página.</LI><br />
   <LI>No JQuery ele sempre retorna um array, mesmo quando só tem um objeto e este é o motivo de ser necessário usar o index no final [0] se você insistir trabalhar com o objeto HTML</LI><br />
   <LI>Como veremos adiante você não precisa trabalhar diretamente com o objeto HTML, então você pode não precisará usar o index [0] e poderá trabalhar diretamente com o array retornado (pelo menos 99% das vezes).</LI><br />
   <LI>Repare que para selecionar o id txtNome ele usou #txtNome, exatamente igual ao CSS. No CSS quando você deseja alterar as propriedades do elemento com id txtNome você faz: #txtNome{&#8230;}. Não é uma coincidência, o JQuery aceita praticamente todos os seletores CSS, então se você tem familiaridade com CSS você sabe o poder que você obterá ao usar o seletor do JQuery</LI><br />
</OL></p>
<p>Outra situação, digamos que você queira selecionar um objeto pela sua classe, no nosso HTML de exemplo vou selecionar os elementos com class igual a &#8220;botao&#8221; . O código em Javascript seria :</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217568"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p2175code68"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> elementos<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> elem <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'*'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> elem.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #003366; font-weight: bold;">var</span> classes <span style="color: #339933;">=</span> elem<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">className</span><span style="color: #339933;">;</span>
   <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>classes.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;botao&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
      elementos<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span>  elem<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>No JQuery o mesmo comando ficaria assim:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217569"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code69"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> elementos <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.botao&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Inacreditável né? Além disso o código em javascript tem alguns bugs, por exemplo; se um elemento tiver uma classe chamada &#8220;botao2&#8243; ele selecionará o elemento, com JQuery além de mais simples ele evita muitos erros de programação.</p>
<p>Outro cenário: ainda usando nosso exemplo HTML, digamos que você quer obter apenas o option selecionado pelo usuário num combobox. No Javascript ficaria :</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217570"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p2175code70"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> combo <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;cmbCidades&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> selecionado <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> cont<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> cont <span style="color: #339933;">&lt;</span> combo.<span style="color: #660066;">options</span><span style="color: #339933;">;</span> cont<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>combo.<span style="color: #660066;">options</span><span style="color: #009900;">&#91;</span>cont<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">selected</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		selecionado <span style="color: #339933;">=</span> combo.<span style="color: #660066;">options</span><span style="color: #009900;">&#91;</span>cont<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>No Jquery:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217571"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code71"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> selecionado <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#cmbCidades option:selected&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Lembrando que sempre volta um array, então se você quiser usar o elemento HTML mesmo você deve adicionar sempre [0] no final. Embora eu repito, você pode fazer praticamente tudo usando apenas o array. Mas este é o assunto dos próximos tópicos:</p>
<p><H3>Pegando valores</H3><br />
Mais uma vez usando nosso Judas HTML , imagine o cenário de você querer pegar o valor de um parágrafo ou de um textbox. Repare que no HTML são coisas diferentes, o textbox tem a propriedade value, já o parágrafo não. O parágrafo contém o texto, ou seja o texto está dentro da tag. Por este motivo no javascript a forma de obter os valores é diferente:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217572"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p2175code72"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> txt <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> cmb <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'cmbCidades'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> p <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'cmbCidades'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> text <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'frase'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>No JQuery não podia ser diferente:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217573"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p2175code73"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> txt <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#txtNome'</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>
<span style="color: #003366; font-weight: bold;">var</span> cmb <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#cmbCidades'</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>
<span style="color: #003366; font-weight: bold;">var</span> p <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#cmbCidades'</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>
<span style="color: #003366; font-weight: bold;">var</span> text <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#frase'</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>Repare que apesar da diferença, os comandos são razoavelmente mais curtos. Além de como já foi dito, ele é crossbrowser.</p>
<p><H3>Substituindo valores</H3><br />
Digamos que você quer altera o valor de um parágrafo, no javascript você faria algo como:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217574"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code74"><pre class="javascript" style="font-family:monospace;">document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'frase'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Valor alterado&quot;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>E no JQuery:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217575"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code75"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#frase'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Valor alterado'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Agora imagine que você tenha que alterar todos os valores de todos os paragrafos, ou todos que usam uma determinada classe?</p>
<p>Bom no Javascript:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217576"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code" id="p2175code76"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> elem <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'*'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> elem.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #003366; font-weight: bold;">var</span> classes <span style="color: #339933;">=</span> elem<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">className</span><span style="color: #339933;">;</span>
   <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>classes.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;frase&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
       elem<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'Valor alterado'</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>No JQuery :</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217577"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code77"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.paragrafo'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Valor alterado'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Repare a vantagem de trabalhar com o objeto array retornado do JQuery, você manda alterar todos os elementos com um único comando.</p>
<p>E se o objeto for uma caixa de texto? Com propriedade value?</p>
<p>Basta fazer:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217578"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code78"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.input'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Valor alterado'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><H3>Adicionando e removendo classes</H3><br />
No Javascript adicionar uma classe é simples:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217579"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code79"><pre class="javascript" style="font-family:monospace;">   document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">className</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'classe2'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Certo? Errado, no código acima acabamos de matar as classes anteriormente adicionadas. O certo seria :</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217580"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code80"><pre class="javascript" style="font-family:monospace;">   document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">className</span> <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">className</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">' classe2'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Certo? Errado, no código acima (apenas em alguns navegadores ) se o elemento não tivesse classe ficaria com as classes &#8220;classe2&#8243; e &#8220;nothing&#8221;. Adicionar uma classe em javascript pode ser a chance de injetar erros. Abaixo no JQuery :</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217581"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code81"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'txtNome'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>E para remover?</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217582"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code82"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'txtNome'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Com JQuery pode-se até juntar dois comandos, exemplo:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217583"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code83"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'input'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'txtNome'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Pegou?</p>
<p><H3>Alterando atributos</H3><br />
No javascript :</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217584"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code84"><pre class="javascript" style="font-family:monospace;">   document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">maxlength</span> <span style="color: #339933;">=</span> <span style="color: #CC0000;">35</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>No JQuery:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217585"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code85"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'maxlength'</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">35</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>E para remover?</p>
<p>No JQuery:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217586"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code86"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeAttr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'maxlength'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><H3>Alterando o CSS</H3><br />
No Javascript para alterar o css de um elemento usamos o objeto style:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217587"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code87"><pre class="javascript" style="font-family:monospace;">   document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">backgroundColor</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'#ff0000'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>No JQuery:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217588"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code88"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'backgroundColor'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'#ff0000'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><H3>Adicionando elementos</H3><br />
Para criar um elemento na página, como por exemplo uma opção nova em um combobox (select) é um tanto complicado em javascript e mais chato ainda desviar dos erros nos diferentes navegadores. Mas existem duas formas, a primeira é capturar o elemento e como dito acima, usar o innerHTML:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217589"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p2175code89"><pre class="javascript" style="font-family:monospace;">   <span style="color: #003366; font-weight: bold;">var</span> combo <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'cmbCidades'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   combo.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span>   combo.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;&lt;OPTION id='opcaoExtra'&gt;Extra&lt;/OPTION&gt;&quot;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>ou usando XML DOM com appendChild. Com JQuery é extremamente simples:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217590"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code90"><pre class="javascript" style="font-family:monospace;">  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#cmbCidades'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;OPTION id='opcaoExtra'&gt;Extra&lt;/OPTION&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>O append adiciona no final (o option incluído será virá depois de todos os outros option dentro do select). Mas ainda existem outros métodos como o prepend que adiciona no começo, e mais. Vale a pena consultar a documentação do JQuery.</p>
<p><H3>Escondendo objetos</H3><br />
E esconder objetos? No Javascript a chance de dar erro na formatação da página é enorme, mas o código mais simples (que ocasionaria muitos bugs) seria :</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217591"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code91"><pre class="javascript" style="font-family:monospace;">   document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'none'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>No JQuery:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217592"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code92"><pre class="javascript" style="font-family:monospace;">  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#cmbCidades'</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></pre></td></tr></table></div>

<p>Com a vantagem de você poder passar como parâmetro a velocidade da animação de esconder, caso você queira animar:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217593"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code93"><pre class="javascript" style="font-family:monospace;">  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#cmbCidades'</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: #006600; font-style: italic;">//opções slow, normal, fast e não passar parâmetro (imediato)</span></pre></td></tr></table></div>

<p>No JQuery ainda é possivel dizer quanto tempo ele deve esperar antes de efetuar o comando, por exemplo 5 segundos (5mil milisegundos):</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217594"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code94"><pre class="javascript" style="font-family:monospace;">  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#cmbCidades'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">delay</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">5000</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: #006600; font-style: italic;">//opções slow, normal, fast e não passar parâmetro (imediato)</span></pre></td></tr></table></div>

<p><H3>Exibindo objetos</H3><br />
Para exibir no Javascript:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217595"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code95"><pre class="javascript" style="font-family:monospace;">   document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'txtNome'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'visible'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>No JQuery:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p217596"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p2175code96"><pre class="javascript" style="font-family:monospace;">  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#cmbCidades'</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: #006600; font-style: italic;">//opções slow, normal, fast e não passar parâmetro (imediato)</span></pre></td></tr></table></div>

<p><H3>Conclusão</H3><br />
O Jquery tem centenas de milhares de funcionalidades que podem ser usadas isoladas ou em conjunto. Cada funcionalidade economiza horas e horas de desenvolvimento e correção de bugs pra tornar o código crossbrowser, dai a vantagem de usar um framework como o JQuery. </p>
<p>Existem outros frameworks bons como o Prototype que fazem a mesma coisa, usei o JQuery como exemplo pois é atualmente o framework mais usado.</p>
]]></content:encoded>
			<wfw:commentRss>http://casal10.evonblogs.com.br/bytes/2175/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mais Laboratório Nerd a caminho&#8230;</title>
		<link>http://casal10.evonblogs.com.br/bytes/2137</link>
		<comments>http://casal10.evonblogs.com.br/bytes/2137#comments</comments>
		<pubDate>Mon, 25 Oct 2010 12:49:52 +0000</pubDate>
		<dc:creator>Maíra</dc:creator>
				<category><![CDATA[jabá]]></category>
		<category><![CDATA[laboratório nerd]]></category>
		<category><![CDATA[rpg]]></category>
		<category><![CDATA[taulukko]]></category>

		<guid isPermaLink="false">http://casal10.evonblogs.com.br/?p=2137</guid>
		<description><![CDATA[Pois é. A convivência com falantes de &#8220;grego&#8221; me levou ao inevitável. Estou aprendendo um pouquinho de códigos!
O bom é que assim consigo desafogar um pouco a lista infinitas de tarefas do Gan. Uma delas eu já consegui tirar da fila: a ficha de personagem de Old Dragon para o Taulukko!
A ficha versão Pocket Dragon [...]]]></description>
			<content:encoded><![CDATA[<p>Pois é. A convivência com falantes de &#8220;grego&#8221; me levou ao inevitável. Estou aprendendo um pouquinho de códigos!</p>
<p>O bom é que assim consigo desafogar um pouco a lista infinitas de tarefas do Gan. Uma delas eu já consegui tirar da fila: a ficha de personagem de Old Dragon para o Taulukko!</p>
<p>A <a title="vai lá ver!" href="http://blog.taulukko.com.br/grimorium/1548">ficha versão Pocket Dragon já está no ar </a>e logo mais teremos as versões completa e fast play, além de fichas para outros sistemas de regras de RPG. \o/</p>
<p>Logo logo, também vou ajudar o Edson nos posts do &#8220;Laboratório Nerd&#8221;. Aguardem&#8230; rs.</p>
]]></content:encoded>
			<wfw:commentRss>http://casal10.evonblogs.com.br/bytes/2137/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTML5 &#8211; Exemplos do Gan</title>
		<link>http://casal10.evonblogs.com.br/bytes/2091</link>
		<comments>http://casal10.evonblogs.com.br/bytes/2091#comments</comments>
		<pubDate>Fri, 13 Aug 2010 12:53:16 +0000</pubDate>
		<dc:creator>Edson</dc:creator>
				<category><![CDATA[laboratório nerd]]></category>
		<category><![CDATA[applet]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[FileReader]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[image preview]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[silverlight]]></category>

		<guid isPermaLink="false">http://casal10.evonblogs.com.br/?p=2091</guid>
		<description><![CDATA[
1
2
3
4
5
#PHP VS  JAVA
//JAVA VS PYTHON
/*C++ VS JAVA*/
'JAVA VS .NET
out.println(&#34;EU NAO SEI PROGRAMAR NADA!&#34;);

Ola,
hoje vou dividir com vocês alguns exemplos bem maneiros de html 5. E principalmente sobre o Image Preview (mas este não é o único, fuce no zip e verá coisas beeeem legais, algumas bem simples de serem aplicadas e que já funcionam [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_codebox"><table width="100%" ><tr id="p209199"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p2091code99"><pre class="javascript" style="font-family:monospace;">#PHP VS  JAVA
<span style="color: #006600; font-style: italic;">//JAVA VS PYTHON</span>
<span style="color: #009966; font-style: italic;">/*C++ VS JAVA*/</span>
<span style="color: #3366CC;">'JAVA VS .NET
out.println(&quot;EU NAO SEI PROGRAMAR NADA!&quot;);</span></pre></td></tr></table></div>

<p>Ola,<br />
hoje vou dividir com vocês alguns exemplos bem maneiros de html 5. E principalmente sobre o Image Preview (mas este não é o único, fuce no zip e verá coisas beeeem legais, algumas bem simples de serem aplicadas e que já funcionam na maioria dos navegadores).</p>
<p><H3>Image Preview</H3><br />
Ontem um colega da Maíra me pediu ajuda com javascript, ele tinha um site onde o usuário subia uma imagem mas via ela antes de enviar ao servidor. Ele fazia isto na época usando o IE6 que por sua vez fazia uso de um componente ActiveX pra realizar a façanha. Neste ponto terei que fazer uma parada para dar algumas explicações.</p>
<p><H4>HTML5</H4><br />
A W3C que realiza os padrões, fez o HTML4 na virada do século e logo em seguida apostou suas fichas no XHTML que saiu por volta de 2000. Porém de lá pra cá os sites tiveram uma cara mais de aplicativos e os navegadores começaram a ter cara de sistema operacional. O GMail foi o principal responsável ao fazer um cliente de email que não deve em nada (se é que não supera) os clientes que ficavam fora dos navegadores. E como era complicado migrar um site HTML para XHTML (e na prática não levava nenhuma mudança visual pro usuário) o XHTML foi um fiasco. Acho que hoje menos de 1% do site são em XHTML o que levou a W3C (até que tardiamente) a desistir do padrão XHTML 2.0 para voltar ao HTML (que eles queriam matar) e fazer o padrão HTML5.</p>
<p>O HTML5 adiciona a possibilidade do renderizador HTML, diversas características que estavam vindo sendo resolvidas (quase que na forma de gambiarra) pelo flash, silverlight, javafx, java applet e afins. Por exemplo execução de sons, vídeos, manipulação de arquivos, comunicação e afins. Na realidade cada navegador já vinha tentando resolver de sua forma, porém o html5 cria uma linha, um meio de padronizar. Agora o programador não precisará mais fazer algo que funciona de um jeito no IE, outro no firefox e não funciona nos demais. Mas claro, pra isto os navegadores tem que implementar o padrão html5, alguns como o IE infelizmente não implementa 100% nem o html4.</p>
<p>OK, mas com o HTML5 funcionando o flash morre? Duvido, o html5 vai implementar apenas as coisas mais comuns, as necessidades mais comuns. Ainda vai ficar a cargo de plugins as façanhas mais baixo nível. O que vai acabar de vez é aquele flash morto que não tem aspecto a não ser rodar um vídeo ou som, ou então aqule menu animado em flash. Isto esta com os dias contados, aplicações mais robustas podem ainda usar o plugin que lhe te der o que o html5 e javascript não resolver.</p>
<p>Bom, agora voltando ao tema. O código do Marcelo fazia o que o HTML5 faz, porém a maneira microsoft. O firefox tinha sua maneira também mas só funcionaria em firefox. O código que vou apresentar a vocês utiliza o padrão html5 e, apesar de só funcioanr hoje em firefox, vai passar a funcionar em todos os navegadors que tiverem suporte a html5.</p>
<p>Eis o código:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p2091100"><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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
</pre></td><td class="code" id="p2091code100"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>HTML<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>BODY<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>H1<span style="color: #339933;">&gt;</span>File API<span style="color: #339933;">&lt;/</span>H1<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>INPUT type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;file&quot;</span> id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;fileImg&quot;</span><span style="color: #339933;">/&gt;&lt;</span>BR<span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;</span>INPUT type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;button&quot;</span> value<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;Calcular Tamanho&quot;</span> onClick<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;preSizeCalc()&quot;</span><span style="color: #339933;">/&gt;&lt;</span>BR<span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;</span>P<span style="color: #339933;">&gt;</span>Preview<span style="color: #339933;">:&lt;/</span>P<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>img id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;imgPreview&quot;</span><span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>LABEL id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;output&quot;</span><span style="color: #339933;">/&gt;&lt;</span>BR<span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;</span>SCRIPT<span style="color: #339933;">&gt;</span>
<span style="color: #003366; font-weight: bold;">var</span> reader <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> FileReader<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
reader.<span style="color: #000066;">onload</span> <span style="color: #339933;">=</span> onLoadFile<span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> onLoadFile<span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> img <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;imgPreview&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
	img.<span style="color: #660066;">src</span> <span style="color: #339933;">=</span> e.<span style="color: #660066;">target</span>.<span style="color: #660066;">result</span><span style="color: #339933;">;</span>
        img.<span style="color: #000066;">onload</span> <span style="color: #339933;">=</span> onLoadImage<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> onLoadImage<span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> img <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;imgPreview&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
       	<span style="color: #003366; font-weight: bold;">var</span> strOut <span style="color: #339933;">=</span>  <span style="color: #3366CC;">&quot;As dimensões da imagem são &quot;</span> <span style="color: #339933;">+</span>  img.<span style="color: #660066;">clientWidth</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;x&quot;</span> <span style="color: #339933;">+</span> img.<span style="color: #660066;">clientHeight</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;&lt;BR/&gt;&quot;</span> <span style="color: #339933;">;</span>
        log<span style="color: #009900;">&#40;</span>strOut<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> preSizeCalc<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> img <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;imgPreview&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> file <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;fileImg&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>reader<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		reader.<span style="color: #660066;">readAsDataURL</span><span style="color: #009900;">&#40;</span>file.<span style="color: #660066;">files</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span>
	<span style="color: #009900;">&#123;</span>
		log<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Seu navegador não tem suporte a HTML5, troque por um mais recente&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> log<span style="color: #009900;">&#40;</span>value<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #003366; font-weight: bold;">var</span> output <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;output&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  output.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> value<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>SCRIPT<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>BODY<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>HTML<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p><H3>Exemplos de HTML5</h3>
<p><a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/file-api.html">File API &#8211; Image Preview</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/canvas.html">Canvas API</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/atributes-custom.html">Atributos Customisáveis</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/color-hsla.html">Sistema Color hsla (no html4 era apenas o padrão rgb)</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/color-opacity.html">Alpha por cor e não apenas por componente</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/css-linhas-impares.html">CSS Linhas Ímpares &#8211; Novas Formas de seleção</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/dl.html">Nova TAG DL</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/drag_drop.html">Drag and Drop</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/figure.html">Tag tipo Figure</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/fontes.html">Novas Fontes (tipos para letras)- Fontes Remotas</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/geoposition.html">Geoposition</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/mode_offline_detected.html">Mode Offline</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/novos_controles.html">Tags novas</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/script_storage.html">Storage</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/texto_editavel.html">Texto Editável</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/text-outline.html">Outline Text</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/text-reflect.html">Reflect Text</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/text-resize.html">Resize Text</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/text-shadow.html">Sombra em texto</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/thread.html">Work (Threads)</a><br />
<a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/cantos-arrendondados.html">Controles Com Cantos arredondados</a><br />
<H3>Downloads:</h3>
<p><a href="http://casal10.evonblogs.com.br/wp-content/uploads/extra/html5/html5.rar">HTML 5 Exemplos</a><br />
<H3>Updates:</h3>
<h4>Links úteis:</h4>
<p><UL><br />
   <LI><a href="http://www.html5rocks.com/">html5 rocks</a></li>
<p>   <LI><a href="http://www.css3.info/css3-rocks/?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+css3+%28css3.info%29">Seleção do melhor de html5 rocks</a></li>
<p></UL></p>
]]></content:encoded>
			<wfw:commentRss>http://casal10.evonblogs.com.br/bytes/2091/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Div,Section,Article, Header e Footer &#8211; Papo Sem Pé Nem Cabeça</title>
		<link>http://casal10.evonblogs.com.br/bytes/2070</link>
		<comments>http://casal10.evonblogs.com.br/bytes/2070#comments</comments>
		<pubDate>Fri, 06 Aug 2010 16:26:47 +0000</pubDate>
		<dc:creator>Edson</dc:creator>
				<category><![CDATA[laboratório nerd]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[footer]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[hml5]]></category>
		<category><![CDATA[section]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://casal10.evonblogs.com.br/?p=2070</guid>
		<description><![CDATA[O HTML5 veio mesmo pra mudar e uma das principais mudanças é que ele torna o código mais semântico, ou seja, torna o código mais &#8220;elegante&#8221; e melhor para ser visualizado quando quem lê não é um navegador. E isto tanto pode ser um desenvolvedor, um robô como uma pessoa com acessibilidade reduzida.
Antes para dividir [...]]]></description>
			<content:encoded><![CDATA[<p>O HTML5 veio mesmo pra mudar e uma das principais mudanças é que ele torna o código mais semântico, ou seja, torna o código mais &#8220;elegante&#8221; e melhor para ser visualizado quando quem lê não é um navegador. E isto tanto pode ser um desenvolvedor, um robô como uma pessoa com acessibilidade reduzida.</p>
<p>Antes para dividir um layout a gente usava, e muito, de div(s). Agora a coisa mudou, veja abaixo como ficou:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p2070103"><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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
</pre></td><td class="code" id="p2070code103"><pre class="html" style="font-family:monospace;">&lt;HTML&gt;
  &lt;HEAD&gt;
  &lt;/HEAD&gt;
   &lt;BODY&gt;
      &lt;DIV id=&quot;div1&quot;&gt;
            &lt;SECTION&gt;
               &lt;HEADER&gt;
               &lt;H1&gt;Cabeça, corpo e pés&lt;/H1&gt;
               &lt;/HEADER&gt;
               &lt;ARTICLE&gt;
                   &lt;H2&gt;A Cabeça&lt;/H2&gt;
                   &lt;P&gt;A cabeça é o membro .....&lt;/P&gt;
               &lt;/ARTICLE&gt;
               &lt;ARTICLE&gt;
                   &lt;H2&gt;O Corpo&lt;/H2&gt;
                   &lt;P&gt;O corpo é a parte que....&lt;/P&gt;
               &lt;/ARTICLE&gt;
               &lt;ARTICLE&gt;
                   &lt;H2&gt;Os Pés&lt;/H2&gt;
                   &lt;P&gt;Os pés tem importância fundamental ....&lt;/P&gt;
               &lt;/ARTICLE&gt;
               &lt;FOOTER&gt;&lt;P&gt;Deixe um comentário &lt;a href=&quot;...&quot;&gt;aqui&lt;/a&gt;.&lt;/FOOTER&gt;
            &lt;/SECTION&gt;
            &lt;SECTION&gt;
               &lt;HEADER&gt;
               &lt;H1&gt;Minha visita a Europa&lt;/H1&gt;
               &lt;/HEADER&gt;
               &lt;ARTICLE&gt;
                   &lt;H2&gt;Roma&lt;/H2&gt;
                   &lt;P&gt;Meu primeiro ponto de parada foi em Roma ....&lt;/P&gt;
                   &lt;H2&gt;Despedida&lt;/H2&gt;
                   &lt;P&gt;O que me marcou foi ....&lt;/P&gt;
               &lt;/ARTICLE&gt;
               &lt;ARTICLE&gt;
                   &lt;H2&gt;Suiça&lt;/H2&gt;
                   &lt;P&gt;De todos os....&lt;/P&gt;
               &lt;/ARTICLE&gt;
               &lt;ARTICLE&gt;
                   &lt;H2&gt;Itália&lt;/H2&gt;
                   &lt;P&gt;Meus ancestrais estavam ....&lt;/P&gt;
                   &lt;H2&gt;Pizza&lt;/H2&gt;
                   &lt;P&gt;Não, não vou....&lt;/P&gt;
               &lt;/ARTICLE&gt;
               &lt;FOOTER&gt;&lt;P&gt;Deixe um comentário &lt;a href=&quot;...&quot;&gt;aqui&lt;/a&gt;.&lt;/FOOTER&gt;
            &lt;/SECTION&gt;
      &lt;/DIV&gt;
   &lt;/BODY&gt;
&lt;HTML&gt;</pre></td></tr></table></div>

<p>Antes era:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p2070104"><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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
</pre></td><td class="code" id="p2070code104"><pre class="html" style="font-family:monospace;">&lt;HTML&gt;
  &lt;HEAD&gt;
  &lt;/HEAD&gt;
   &lt;BODY&gt;
      &lt;DIV id=&quot;div1&quot;&gt;
            &lt;div class=&quot;section&quot;&gt;
                &lt;div class=&quot;header&quot;&gt;
                  &lt;H1&gt;Cabeça, corpo e pés&lt;/H1&gt;
                &lt;/div&gt;
               &lt;div class=&quot;article&quot;&gt;
                   &lt;H2&gt;A Cabeça&lt;/H2&gt;
                   &lt;P&gt;A cabeça é o membro .....&lt;/P&gt;
                &lt;/div&gt;
               &lt;div class=&quot;article&quot;&gt;
                   &lt;H2&gt;O Corpo&lt;/H2&gt;
                   &lt;P&gt;O corpo é a parte que....&lt;/P&gt;
                &lt;/div&gt;
               &lt;div class=&quot;article&quot;&gt;
                   &lt;H2&gt;Os Pés&lt;/H2&gt;
                   &lt;P&gt;Os pés tem importância fundamental ....&lt;/P&gt;
                &lt;/div&gt;
               &lt;div class=&quot;footer&quot;&gt;&lt;P&gt;Deixe um comentário &lt;a href=&quot;...&quot;&gt;aqui&lt;/a&gt;.&lt;/div&gt;
            &lt;/div&gt;
            &lt;div class=&quot;section&quot;&gt;
               &lt;div class=&quot;header&quot;&gt;
               &lt;H1&gt;Minha visita a Europa&lt;/H1&gt;
               &lt;/div&gt;
               &lt;div class=&quot;article&quot;&gt;
                   &lt;H2&gt;Roma&lt;/H2&gt;
                   &lt;P&gt;Meu primeiro ponto de parada foi em Roma ....&lt;/P&gt;
                   &lt;H2&gt;Despedida&lt;/H2&gt;
                   &lt;P&gt;O que me marcou foi ....&lt;/P&gt;
                &lt;/div&gt;
               &lt;div class=&quot;article&quot;&gt;
                   &lt;H2&gt;Suiça&lt;/H2&gt;
                   &lt;P&gt;De todos os....&lt;/P&gt;
                &lt;/div&gt;
               &lt;div class=&quot;article&quot;&gt;
                   &lt;H2&gt;Itália&lt;/H2&gt;
                   &lt;P&gt;Meus ancestrais estavam ....&lt;/P&gt;
                   &lt;H2&gt;Pizza&lt;/H2&gt;
                   &lt;P&gt;Não, não vou....&lt;/P&gt;
                &lt;/div&gt;
               &lt;div class=&quot;footer&quot;&gt;&lt;P&gt;Deixe um comentário &lt;a href=&quot;...&quot;&gt;aqui&lt;/a&gt;.&lt;/div&gt;
                &lt;/div&gt;
      &lt;/DIV&gt;
   &lt;/BODY&gt;
&lt;HTML&gt;</pre></td></tr></table></div>

<p>Repare que antes o div não significava muita coisa, por isto agora o HTML está mais semântico.</p>
<p>Como podem ver no exemplo acima, além do div existem agora outras tags de divisão quando se trata de conteúdo. Div é mais genérico, serve pra qualquer coisa. Estes, Section, Article, Header e Footer são específicos para conteúdo. Podem ser utilizados desde um template de um blog até um widget. </p>
<p>Espero que tenha ajudado a entender, e que gostem ^^</p>
<p>Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://casal10.evonblogs.com.br/bytes/2070/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

