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

<channel>
	<title>Leandro Rodrigues &#187; tabs</title>
	<atom:link href="http://www.lrodrigues.com/blog/tag/tabs/feed" rel="self" type="application/rss+xml" />
	<link>http://www.lrodrigues.com/blog</link>
	<description>programação web, música e eletrônica</description>
	<lastBuildDate>Mon, 07 Dec 2009 12:56:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Lendo o hash em abas e conteúdos seletivos jQuery</title>
		<link>http://www.lrodrigues.com/blog/jquery/lendo-o-hash-em-abas-e-conteudos-seletivos-jquery</link>
		<comments>http://www.lrodrigues.com/blog/jquery/lendo-o-hash-em-abas-e-conteudos-seletivos-jquery#comments</comments>
		<pubDate>Thu, 26 Nov 2009 22:03:45 +0000</pubDate>
		<dc:creator>leandro</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tabs]]></category>

		<guid isPermaLink="false">http://www.verticis.com.br/~jscristo/leandro/blog/?p=10</guid>
		<description><![CDATA[Como usar a hash para carregar o conteúdo inicial de uma página com seletor/abas]]></description>
			<content:encoded><![CDATA[<p>Ao trabalhar com jQuery nas páginas, sabemos o quanto ficou fácil ocultar e mostrar containers, criar abas de navegação e criar conteúdos seletivos. O problema é que como não é carregado uma nova página, nossa url permanece a mesma ao ser passado o link ou colocado em favoritos. Ao visitar novamente o site que utiliza deste recurso, o link o trará ao conteúdo inicial nos containers, e não aquele que ele já havia acessado/preenchido. Para evitar esse tipo de problema podemos ler a hash, parte da url que é tratada somente &#8216;client side&#8217;, ao carregar a página conferir qual o conteúdo está setado para aparecer no estado inicial.</p>
<p><span id="more-10"></span></p>
<h3>Mão na massa:</h3>
<p>Queremos criar um seletor de conteúdo que oculta e mostra as divs conforme a seleção seguindo o html abaixo:<br />
<pre><pre name="code" class="html">
&lt;div id=&quot;nav&quot;&gt;
&nbsp;&nbsp;&lt;a href=&quot;#conteudo1&quot;&gt;Conteúdo 1&lt;/a&gt;
&nbsp;&nbsp;&lt;a href=&quot;#conteudo2&quot;&gt;Conteúdo 2&lt;/a&gt;
&nbsp;&nbsp;&lt;a href=&quot;#conteudo3&quot;&gt;Conteúdo 3&lt;/a&gt;
&lt;/div&gt;
&lt;div id=&quot;conteudo1&quot; class=&quot;conteudo&quot;&gt;Este é conteúdo 1&lt;/div&gt;
&lt;div id=&quot;conteudo2&quot; class=&quot;conteudo&quot;&gt;Este é conteúdo 2&lt;/div&gt;
&lt;div id=&quot;conteudo3&quot; class=&quot;conteudo&quot;&gt;Este é conteúdo 3&lt;/div&gt;</pre></pre><br />
Para fazer este efeito, existem várias formas usando jquery, escolhi uma delas e tratando com a técnica de usar a hash que expliquei em cima. Segue o código:<br />
<pre><pre name="code" class="javascript">&lt;script type=&quot;text/javascript&quot;&gt;
&nbsp;&nbsp;$(document).ready(function(){
&nbsp;&nbsp;&nbsp;&nbsp;hash = window.location.hash;
&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;.conteudo&quot;).not(hash).hide();
&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;#nav a&quot;).click(function(){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;.conteudo&quot;).slideUp(&quot;slow&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conteudo = $(this).attr(&quot;href&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(conteudo).slideDown();
&nbsp;&nbsp;&nbsp;&nbsp;});
&nbsp;&nbsp;});
&lt;/script&gt;
</pre></pre><br />
Note que ao carregar ele acessa o atributo window.location.hash que me dá a hash chamada no navegador. Em seguida ele esconde todas as divs de conteúdo, MENOS a que tava na hash com o filtro de seletor not. Deixando então o estado de seleção conforme o link descreve. O &#8220;#conteudo1&#8243; da hash é a mesma string que faz a seleção da div &#8220;conteudo1&#8243;, neste exemplo. Caso você quiser usar classes ou outros operadores jQuery, terá que tratar a string.</p>
<h3><a href="http://www.lrodrigues.com/demos/hash1.htm" target="_blank"><br />
Veja a demonstração aqui</a></h3>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lrodrigues.com/blog/jquery/lendo-o-hash-em-abas-e-conteudos-seletivos-jquery/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
