<?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>jQuery &#8211; Turbosite &#8211; Blog</title>
	<atom:link href="https://www.turbosite.com.br/blog/tag/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.turbosite.com.br/blog</link>
	<description></description>
	<lastBuildDate>Wed, 03 Feb 2016 12:05:33 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://www.turbosite.com.br/blog/wp-content/uploads/2026/09/cropped-logo_turbo_vermelha-32x32.png</url>
	<title>jQuery &#8211; Turbosite &#8211; Blog</title>
	<link>https://www.turbosite.com.br/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Substitua o jQuery do WordPress (local) pelo jQuery do Google Hosted Libraries</title>
		<link>https://www.turbosite.com.br/blog/substitua-o-jquery-do-wordpress-local-pelo-jquery-do-google-hosted-libraries/</link>
		
		<dc:creator><![CDATA[turboajuda]]></dc:creator>
		<pubDate>Wed, 03 Feb 2016 12:05:33 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[Google Hosted Libraries]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.turbosite.com.br/blog/?p=4127</guid>

					<description><![CDATA[Substitua o jQuery do WordPress (local) pelo jQuery do Google Hosted Libraries.]]></description>
										<content:encoded><![CDATA[<p>Por padrão, WordPress acompanha uma séria de bibliotecas em JavaScript para seu correto funcionamento. Essas bibliotecas podem ser utilizadas enquanto desenvolvemos temas e funções e a mais comum de todas é o jQuery. Nesta postagem vamos mostrar como substituir jQuery local pelo jQuery de nossa escolha, ou melhor, por um CDN do Google Hosted Libraries.</p>
<p>Uma pergunta comum, porque deveríamos alterar para o CDN do Google Hosted Libraries?</p>
<p>Resposta simples e com vários argumentos. O CDN do Google Hosted Libraries é utilizado por milhares de sites na internet, as chances de você ou seu cliente visitar outro site que esteja utilizando esta biblioteca são enormes, desta forma será feito cache no seu navegador e não será necessário baixá-la novamente, logo o site será carregado mais rápido. O download será mais rápido caso você não tenha o cache, pois servidores de CDN são preparados para entregas de bibliotecas, além de você também reduzir o overload de seu servidor pois será um arquivo a menos para entregar.</p>
<p>Dito as motivações para utilizar um CDN, vamos lhe ensinar como substituir o jQuery hospedado localmente para um CDN. Copie o seguinte código e cole dentro do seu arquivo functions.php localizado no diretório do seu tema.</p>
<p>Obs.: Note a versão do jQuery que inserimos, se seu site e scripts não comportam a versão 2.2.0, altere para a 1.12.0.</p>
<pre class="top-margin:20 bottom-margin:20 left-set:true left-margin:20 right-set:true right-margin:20 whitespace-before:1 whitespace-after:1 lang:php decode:true">if(!function_exists('replace_jquery')):
    function replace_jquery()
    {
        if ( !is_admin() )
        {           
            wp_deregister_script('jquery');
            wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js', FALSE, '2.2.0');
            wp_enqueue_script('jquery');
        }
    }
    add_action('init', 'replace_jquery');
endif;</pre>
<p>Tem alguma dica ou sugestão? Deixe nos comentários.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>19 truques e dicas para jQuery</title>
		<link>https://www.turbosite.com.br/blog/19-truques-e-dicas-para-jquery/</link>
		
		<dc:creator><![CDATA[turboajuda]]></dc:creator>
		<pubDate>Fri, 31 Oct 2014 12:11:16 +0000</pubDate>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[tutorial]]></category>
		<guid isPermaLink="false">http://blog.turbosite.com.br/?p=3636</guid>

					<description><![CDATA[A equipe da Turbosite está sempre atenta à dicas e truques para melhorar a eficiência de suas ferramentas. Compartilhamos aqui algumas dicas para melhor a eficiência e desempenho de seu código jQuery.]]></description>
										<content:encoded><![CDATA[<p>A equipe da <a title="Turbosite" href="https://www.turbosite.com.br/" target="_blank">Turbosite</a> está sempre atenta à dicas e truques para melhorar a eficiência de suas ferramentas. Compartilhamos aqui algumas dicas retiradas do blog <a title="" href="http://www.dirceupauka.com/">developer.*.com</a>, com algumas modificações e conteúdo nosso. Esperamos que lhe seja de grande utilidade.</p>
<p>&nbsp;</p>
<h3 id="tip1">1 &#8211; Carregue o conteúdo pelo Google Code</h3>
<p>Se você utiliza sempre o jQuery em seus sites, uma excelente maneira de acelerar o carregamento é usar o arquivo jquery-1.11.1.pack.js <a href="http://code.google.com/apis/ajaxlibs/documentation/index.html">diretamente do Google Code</a>. Além de diminuir o gasto com banda, o navegador do usuário faz cache do arquivo entre os vários sites que usam essa técnica o que dará uma experiencia de navegação melhor para o visitante.</p>
<pre class="lang:js decode:true">&lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" 
     type="text/javascript"&gt;&lt;/script&gt;</pre>
<p>&nbsp;</p>
<h3 id="tip2">2 &#8211; Combine e minimize todos seus scripts</h3>
<p>Sempre use compressor em seu código. Isso tornará o conteúdo de seu site mais rápido para carretamento, além de facilitar a leitura de seu site pelo navegador. Como exemplo, o <a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a> do Yahoo! Só não esqueça de manter o código original, para quando precisar de dar manutenção nele.</p>
<p>&nbsp;</p>
<h3 id="tip4">3 &#8211; Use o log do Firebug.</h3>
<p>Use a função <a href="http://getfirebug.com/console.html">console.log(Object)</a> do Firebug para escrever mensagens no console, muito melhor que alert(&#8220;&#8221;). O Firebug facilita acesso as propriedades dos objetos. Como elementos DOM são sempre objetos, estamos tratando deles o tempo todo.</p>
<p>&nbsp;</p>
<h3 id="tip5">4 &#8211; Use menos funções de seleção, faça cache.</h3>
<p>Funções de manipulações do DOM são muito caras para o processamento. Tente usa-las o mínimo possível</p>
<pre class="lang:php decode:true">for (i = 0; i &lt; 1000; i++) {
     var minhaLista = $('.minhaLista'); // seleciona 1000 vezes
     minhaLista.append('&lt;li&gt;Esse é o elemento ' + i + '&lt;li&gt;');
}</pre>
<p>Funções como .append(), .prepend(), .after(), .before() são relativamente custosas e podem deixar as coisas lentas.</p>
<pre class="lang:php decode:true">var meusItens = '';
for (i = 0; i &lt; 1000; i++) {
     meusItens += '&lt;li&gt;Esse é o elemento ' + i + '&lt;/li&gt;';
}
$('.minhaLista').html(meusItems);</pre>
<p>Escrever no DOM somente uma vez é um pouco mais rápido. Já que aqui estamos mesmo lutando por optimizações (lembrem-se dos mobiles), vale né?</p>
<p>&nbsp;</p>
<h3 id="tip7">5 &#8211; Use IDs em vez de classes sempre que possível</h3>
<p>A função de busca por com <a href="http://www.w3.org/TR/css3-selectors/">CSS3 Selector</a> é muito legal de se usar, mas o jQuery implementa ela em JavaScript, e usando <em>o máximo</em> que a API do DOM deixa. Isso as vezes não é o ideal para performance, acredite. Uma busca por ID no DOM quase sempre é mais eficiente que a busca por classe, prefira sempre usar ID.</p>
<p>&nbsp;</p>
<h3 id="tip9">6 &#8211; Dê um contexto para seus seletores</h3>
<p>As seguintes formas de uso são mais rápidas do que buscar um elemento no documento inteiro.</p>
<div id="gist38511" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true ">jQuery( expression, contexto );
$('contexto').find('expression');
$('contexto expression');</pre>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
<h3 id="tip10">7 &#8211; Use encadeamento de funções</h3>
<p>Uma das características mais legais do jQuery é a possibilidade de encadear métodos. Usar encadeamento também ajuda a diminuir a quantidade de seletores.</p>
<pre class="lang:php decode:true">$('#meuPainel')
     .find('TABLE .primeiraColuna')
     .removeClass('.primeiraColuna')
     .css('background', 'red')
     .append('&lt;span&gt;Essa celula agora é vermelha&lt;/span&gt;');</pre>
<p>&nbsp;</p>
<h3></h3>
<h3 id="tip11">8 &#8211; Saiba como usar a propriedade de animação</h3>
<p>Todos adoram as animações pré-definidas como slideDown() e fadeIn() para conseguir alguns efeitos com incrível facilidade. Nos meados do lançamento do jQuery, pela facilidade e simplicidade, as animações em web pages virou uma febre desencadeada.</p>
<p>É também fácil ir ainda além por causa da facilidade que é usar o poderoso método animate(). Se você olhar os metodos slideDown() e fadeIn() dentro do framework verá que são apenas atalhos para o metodo animate(). Esse método simplesmente pega qualquer estilo de CSS e aplica transições de um valor a outro. Então as mudanças nas propriedades width, height, opacity, background-color, top, left, margin, color, font-size e qualquer outra que você quiser podem ter animações!</p>
<p>É muito fácil animar todos itens do seu menu para 100 pixels usando isso.</p>
<pre class="lang:php decode:true ">$('#myList li').mouseover(function() {
     $(this).animate({"height": 100}, "slow");
});</pre>
<p>Diferentemente de outras funções do jQuery, as animações são colocadas em fila de execução automaticamente. Se você quiser rodar uma segunda animação somente quando a primeira terminar, então é só chamar o método novamente sem precisar usar um callback.</p>
<div id="gist38558" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true ">$('#myBox').mouseover(function() {
     $(this).animate({ "width": 200 }, "slow");
     $(this).animate({"height": 200}, "slow");
});</pre>
<p>Porém, se você você desejar que as animações ocorram no mesmo tempo, então insira ambas na mesma chamada assim:</p>
</div>
</div>
</div>
</div>
<div id="gist38559" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true ">$('#myBox').mouseover(function() {
     $(this).animate({ "width": 200, "height": 200 }, "slow");
});</pre>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
<h3 id="tip12">9 &#8211; Conheça sobre delegação de eventos</h3>
<p>O jQuery torna fácil adicionar eventos em elementos do DOM de forma inobstrusiva, o que é muito bom, mas adicionar muitos eventos é ineficiente. A delegação de eventos permite que você adicione em muitas situações menos eventos e atinja o mesmo resultado:</p>
<pre class="lang:php decode:true ">$('#minhaTabela TD').click(function(){
     $(this).css('background', 'red');
});</pre>
<p>Vamos fazer uma função simples para tornar uma celula da tabela vermelha quando você clicar nela. Digamos que você tenha uma tabela com 10 colunas e 50 linhas, então são 500 delegações de eventos. Não seria melhor se fosse possivel agregar o evento somente uma vez e então quando a tabela fosse clicada, chegar ao elemento que realmente foi clicado antes desse se tornar vermelho?</p>
<p>Para isso é que serve a delegação de eventos e isso é simples de implementar.</p>
<div id="gist38574" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true">$('#minhaTabela').click(function(e) {
     var clicado = $(e.target);
     clicado.css('background', 'red');
});</pre>
<p>Muito útil, para por exemplo, manipular eventos de touch.</p>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
<h3 id="tip14">10 &#8211; Use o método data() do jQuery para armazenar estados</h3>
<p>O jQuery possui um metodo interno chamado data() que pode ser usado para armazenar informações de chave/valor sobre qualquer elemento DOM.</p>
<div id="gist38796" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true ">$('#minhaDiv').data('estadoAtual', 'desligado');</pre>
<p>Armazenar estados é mais útil e prático para quando, por exemplo, você queira verificar se um input esteja com alguma atributo que o valide no formulário.Para mais informações sobre os metodos data() e removeData() <a href="http://docs.jquery.com/Internals">veja a documentação</a>.</p>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
<h3 id="tip15">11 &#8211; Escreva seu próprio seletor</h3>
<p>O jQuery possui vários seletores prontos para ajudar na seleção de elementos pelo ID, class, tag, atributo e muito mais. Mas o que fazemos quando é preciso usar seletores que vão além do que o jQuery deixa?</p>
<p>Bom, uma possivel solução seria adicionar classes nos elementos e usa-las para seleciona-los. Uma outra maneira é extender os seletores assim:</p>
<div id="gist38805" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true ">$.extend($.expr[':'], {
          mais100px: function(a) {
          return $(a).height() &gt; 100;
     }
});
 
$('.box:mais100px').click(function() {
     alert('O elemento que você clicou possui mais de 100 pixels de altura');  
});</pre>
<p>Primeiro criamos um seletor que acha qualquer elemento que é maior que 100 pixels. Depois usamos isso para adicionar uma ação de clique &#8211; click &#8211; em todos esses elementos.</p>
</div>
</div>
</div>
</div>
<p>Mais exemplos dessa funcionalidade <a href="http://www.ericmmartin.com/creating-a-custom-jquery-selector/">você pode</a> <a href="http://debuggable.com/posts/getting-serious-with-jquery-adding-custom-css-selectors:480f4dd6-e834-4cf6-a5cc-478ccbdd56cb">pegar aqui</a>.</p>
<p>&nbsp;</p>
<h3 id="tip16">12 &#8211; Use as funções de auxilio do jQuery</h3>
<p>O jQuery já quebra um galho ao facilitar a manipulação de elementos DOM, mas também adiciona metodos uteis para iterar, filtrar, clonar, juntar arrays ou remover elementos duplicados. Vale a pena passar um tempinho na <a href="http://docs.jquery.com/Utilities">página que explica essas utilizades</a>.</p>
<p>&nbsp;</p>
<h3 id="tip17">13 &#8211; Use a função &#8220;noconflict&#8221; para evitar conflitos com outros frameworks</h3>
<p>A maioria dos frameworks para JavaScript usam o simbolo $ como atalho. Para evitar problemas existe uma solução simples, a função .noconflict() que permite definir outro atalho para o framework:</p>
<div id="gist39517" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true ">var $j = jQuery.noConflict();
$j('#minhaDiv').hide();</pre>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
<h3 id="tip19">14 &#8211; Saiba quando uma imagem terminar de carregar</h3>
<p>Use o método .load() em um elemento de imagem (IMG) com um callback.</p>
<div id="gist43276" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true ">$('body').append('&lt;img src="" alt="" id="minhaImagem" /&gt;');
$('#minhaImagem').attr('src', 'imagem.jpg').load(function() {
     console.log('Image Loaded. W: '+$(this).width()+' H: '+$(this).height());
});</pre>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
<h3 id="tip20">15 &#8211; Como saber se um elemento existe?</h3>
<p>Você não precisa checar se um elemento existe antes de manipular ele por que o jQuery simplesmente não faz nada caso o elemento não estiver no DOM. Mas as vezes você pode precisar executar algum pedaço de código que depende da existência de um elemento, para isso use:</p>
<div id="gist43277" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true ">if ($('#minhaDiv')[0]) {  
     // bloco de código
}</pre>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
<h3 id="tip22">16 &#8211; Return &#8216;false&#8217; para evitar a continuação de um evento</h3>
<p>Quando você adiciona algum afeito em um elemento, vai perceber que o bloco de código vai ser executado, porem o navegador irá para o endereço do link. Você pode usar &#8220;href=&#8217;#'&#8221; para evitar isso, mas assim a página irá voltar para o topo quando a ação de click for executada. Para evitar isso, adicione um &#8220;return false;&#8221; ao fim do bloco de código:</p>
<div id="gist43281" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true">$('popup').click(function(){  
     // bloco de código
     return false;
});</pre>
</div>
<div class="file-data"></div>
</div>
</div>
</div>
<h3 id="tip24">17 &#8211; Atalho para a função &#8220;ready&#8221;</h3>
<p>Você já deve estar acostumado a usar a função <em>ready() </em>para executar o código assim que a página tiver sido carregada. Pois saiba que pode economizar um pouco de código simplesmente usando:</p>
<div id="gist43283" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true ">$(function (){  
     // código
});</pre>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
<h3 id="tip25">18 &#8211; Identifique váriaveis do tipo jQuery</h3>
<p>Se você começar usar as dicas para evitar chamadas desnecessarias as funções do jQuery vai perceber que no seu código o número de variaveis carregando objetos jQuery irá aumentar bastante. Para evitar que você se confunda e chame a função de seleção &#8211; $() &#8211; em um elemento que já é jQuery, identifique variaveis que carregam objetos do jQuery com um $ antes do nome.</p>
<div id="gist45739" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="file-data">
<pre class="lang:php decode:true ">var $elemento = $(elemento);</pre>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
<h3 id="tip20">19 &#8211; Sempre use a última versão</h3>
<p>O framework está sendo constantemente melhorado por <a href="http://ejohn.org/">John Resig</a>, seu criador. Sempre que uma versão nova sai ela possui melhoras na performance e se mantem atualizada com o que existe de novo nos navegadores.</p>
<p>Então, utilize sempre a última versão. </p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
