<?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>Ajax Noticias Novidades tudo sobre Ajax &#187; Tutoriais</title>
	<atom:link href="http://www.ptajax.com/category/tutoriais/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ptajax.com</link>
	<description>Onde Ajax é falado em PT</description>
	<lastBuildDate>Sun, 11 Jan 2009 17:13:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Prototype &#8211; O básico</title>
		<link>http://www.ptajax.com/266/tutoriais/prototype-o-basico</link>
		<comments>http://www.ptajax.com/266/tutoriais/prototype-o-basico#comments</comments>
		<pubDate>Sat, 10 Jan 2009 16:38:18 +0000</pubDate>
		<dc:creator>Jota</dc:creator>
				<category><![CDATA[Tutoriais]]></category>

		<guid isPermaLink="false">http://www.ptajax.com/?p=266</guid>
		<description><![CDATA[Muitos dos tutoriais que escrevemos aqui no PT Ajax usamos o prototype como uma das nossas frameworks, e por vezes temos que repetir o que já disse-mos algumas quantas vezes em outros artigos.]]></description>
			<content:encoded><![CDATA[<p>Muitos dos tutoriais que escrevemos aqui no PT Ajax usamos o <a title="Prototype" href="http://www.prototypejs.org/">prototype</a> como uma das nossas frameworks, e por vezes temos que repetir o que já disse-mos algumas quantas vezes em outros artigos.</p>
<p>Este artigo vai servir de base sobre o <a title="Prototype" href="http://www.prototypejs.org/">prototype</a>, desta maneira quando estamos a escrever outros tutoriais e falamos do prototype podemos sempre referenciar este artigo como base.</p>
<p>Então aqui vai, vamos começar pelo o básico.</p>
<h2>O que é o prototype?</h2>
<p>O prototype é uma framework  que permite simplificar o processo de criar projectos para a web quando queremos usar Javascript.</p>
<p>Em outras palavras esta framework ajuda-nos a escrever Javascript mais fácil, mais rápido e melhor ainda, sem termos (muito) que preocupar com os diferentes browsers e como lidam com Javascript.</p>
<h2>Como se usa?</h2>
<p>Para usares o prototype nos teus projectos basta fazeres o download dos ficheiros e incluires no teu projecto, para tal dirigite ao site <a title="Prototype" href="http://www.prototypejs.org/">prototype</a> e faz o download.</p>
<h2>Já tenho os ficheiros e agora?</h2>
<p>Agora basta na directoria do teu projecto criares uma outra directoria (se quiseres) e adicionares os ficheiros do prototype.</p>
<p>Por uma questão de habito e de organização normalmente dá jeito criarmos uma directoria do tipo &#8220;JS&#8221; ou &#8220;Scripts&#8221; ou &#8220;Javascript&#8221;, onde estarão todos os ficheiros em javascript.</p>
<p>Quando quiseres usar basta incluíres os ficheiros no teu ficheiro HTML entre as headers:</p>
<pre class="brush: xml;">
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Prototype o Basico&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/prototype.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
</pre>
<h2>E agora?</h2>
<p>Agora já tens tudo preparado para poderes usar o prototype. Vamos começar por alguns comandos básicos para poderes ver a vantagem de usares uma framework quando escreves / usas Javascript.</p>
<h2>Usando a função $()</h2>
<p>Este comando é um dos comandos que se calhar mais vais usar. Em vez de usares:</p>
<pre class="brush: jscript;">
document.getElementById('IDDoElemento')
</pre>
<p>Passas a usar o $:</p>
<pre class="brush: jscript;">
$('IDDoElemento')
</pre>
<p>Bastante mais fácil, vamos a um exemplo, o HTML:</p>
<pre class="brush: xml;">
&lt;div id=&quot;div1&quot;&gt;O que diz o meu div!&lt;/div&gt;
&lt;a href=&quot;#&quot; onclick=&quot;OQueDizODiv()&quot;&gt;O que diz o div?&lt;/a&gt;
</pre>
<p>O Javascript:</p>
<pre class="brush: jscript;">
function OQueDizODiv(){
var omeudiv = $('div1')
alert(omeudiv.innerHTML)
}
</pre>
<p>Mas o melhor ainda é que permite-te usar uns métodos extras que simplificam bastante o desenvolvimento da tua aplicação como esconder ou mostrar o elemento, por exemplo:</p>
<pre class="brush: xml;">
&lt;div id=&quot;div1&quot;&gt;O que diz o meu div!&lt;/div&gt;
&lt;a href=&quot;#&quot; onclick=&quot;EscondeODiv()&quot;&gt;Esconde o div&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;#&quot; onclick=&quot;MostraODiv()&quot;&gt;Mostra o div&lt;/a&gt;&lt;br&gt;
</pre>
<p>O Javascript:</p>
<pre class="brush: jscript;">
function EscondeODiv(){
var omeudiv = $('div1')
omeudiv.hide()
}

function MostraODiv(){
var omeudiv = $('div1')
omeudiv.show()
}
</pre>
<h2>Usando a função $$()</h2>
<p>Para quem usa CSS para separar o estilo/desenho do site do código esta função ajuda bastante.<br />
Esta função ajuda-te a referiste a elementos através das classes do CSS. Por exemplo:</p>
<pre class="brush: xml;">
&lt;div class=&quot;classedodiv&quot;&gt;Div 1&lt;/div&gt;
&lt;div class=&quot;classedodiv&quot;&gt;Div 2&lt;/div&gt;
&lt;div class=&quot;classedodiv&quot;&gt;Div 3&lt;/div&gt;

&lt;a href=&quot;#&quot; onclick=&quot;DizMeOsDivs()&quot;&gt;Diz me os divs&lt;/a&gt;
</pre>
<p>Como podemos ver temos 3 divs todos com a mesma classe &#8220;<em>classedodiv</em>&#8220;, o que pretendemos agora é quando clicarmos no link &#8220;<em>Diz me os divs</em>&#8220;, uma caixa de alerta abre com os conteúdos dos divs que tem como classe &#8220;<em>classedodiv</em>&#8220;.</p>
<pre class="brush: jscript;">
function DizMeOsDivs(){

var osmeusdivs = $$('div.classedodiv');
var textodosdivs = '';
for(var i=0; i&lt;osmeusdivs.length; i++){
textodosdivs += osmeusdivs[i].innerHTML + '/';
}
alert(textodosdivs);

}
</pre>
<h2>Usando a função $F()</h2>
<p>Sem duvida nenhuma que esta função também dá bastante jeito. Muitas vezes usamos Javascript para validar valores nas nossas formas. A função $F simplifica bastante este trabalho. Começando com o HTML:</p>
<pre class="brush: xml;">
&lt;input type=&quot;text&quot; id=&quot;Nome&quot; value=&quot;Manel&quot;&gt;&lt;br&gt;
&lt;input type=&quot;button&quot; value=&quot;Diz Me O Nome&quot; onclick=&quot;DizMeONome();&quot;&gt;
</pre>
<p>O Javascript:</p>
<pre class="brush: jscript;">
function DizMeONome(){
var Nome = $F('Nome')
alert(Nome)
}
</pre>
<p>Simples!</p>
<h2>Conclusão</h2>
<p>Como podemos ver o prototype traz bastantes vantagens no nosso desenvolvimento em Javascript. Neste pequeno tutorial mostramos apenas 3 das muitas funções que o prototype oferece.</p>
<p>Se tiverem interessados em usar o prototype para desenvolvimento em <a title="Prototype e Ajax" href="http://www.ptajax.com/51/tutoriais/uff-como-usar-prototype-para-pedidos-em-ajax">Ajax podem ver este tutorial</a>.</p>
<p>Este tutorial serviu apenas como introdução e esperamos escrever mais tutoriais em que usamos o prototype. Mas como foi avisado no inicio este tutorial serve apenas como referencia a outros tutoriais que iremos apresentar aqui no PT Ajax.</p>
<p><a title="Exemplo" href="http://www.ptajax.com/Downloads/PrototypeBasico.zip"><img class="alignnone size-full wp-image-243" title="Download" src="http://www.ptajax.com/wp-content/uploads/2008/12/download.jpg" alt="Download" width="218" height="37" /></a> <a title="Ver exemplo" href="http://exemplos.ptajax.com/prototype_o_basico.php"><img class="alignnone size-full wp-image-244" title="Ver Exemplo" src="http://www.ptajax.com/wp-content/uploads/2008/12/verexemplo.jpg" alt="Ver Exemplo" width="218" height="37" /></a></p>
<p><span style="color: #e7e5de;">Webtutoriais:26C046CA</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ptajax.com/266/tutoriais/prototype-o-basico/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Scriptaculous &#8211; Efeitos Aparecer e Desaparecer</title>
		<link>http://www.ptajax.com/236/tutoriais/scriptaculous-efeitos-aparecer-e-desaparecer</link>
		<comments>http://www.ptajax.com/236/tutoriais/scriptaculous-efeitos-aparecer-e-desaparecer#comments</comments>
		<pubDate>Sun, 14 Dec 2008 16:16:37 +0000</pubDate>
		<dc:creator>Jota</dc:creator>
				<category><![CDATA[Tutoriais]]></category>

		<guid isPermaLink="false">http://www.ptajax.com/?p=236</guid>
		<description><![CDATA[Durante esta semana o PT Ajax vai apresentar uma serie de artigos sobre os efeitos que podem ser criados usando duas frameworks bastante conhecidas prototype e o script.aculo.us.
Para começar, hoje apresentamos o efeito de aparecer e desaparecer.  Basicamente este efeito consiste em fazer um elemento html aparecer ou desaparecer da nossa pagina.]]></description>
			<content:encoded><![CDATA[<p>Durante esta semana o PT Ajax vai apresentar uma serie de artigos sobre os efeitos que podem ser criados usando duas frameworks bastante conhecidas <a title="prototype" href="http://www.prototypejs.org/">prototype</a> e o <a title="script.aculo.u" href="http://script.aculo.us/">script.aculo.us</a>.</p>
<p>Para começar, hoje apresentamos o efeito de aparecer e desaparecer.  Basicamente este efeito consiste em fazer um elemento html aparecer ou desaparecer da nossa pagina.</p>
<p>Antes de mais para esta serie de artigos vamos precisar de duas frameworks em que já falamos várias vezes aqui no PT Ajax o <a title="prototype" href="http://www.prototypejs.org/">prototype</a> e o <a title="script.aculo.u" href="http://script.aculo.us/">scriptaculous</a>.</p>
<p>Depois de terem feito o download de ambas as frameworks gravem os ficheiros numa nova directoria onde se encontra o vosso projecto por exemplo &#8220;javascript&#8221; ou &#8220;js&#8221; mas podem usar qualquer nome.</p>
<h2>Inicio</h2>
<p>Vamos começar, criem um novo ficheiro HTML e logo no inicio vamos começar por incluir ambas as frameworks:</p>
<pre class="brush: xml;">
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Scriptaculous Efeito Aparecer e Desaparecer&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot;&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/prototype.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/scriptaculous.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;/html&gt;
</pre>
<p>Agora vamos a parte de criar o efeito, primeiro temos que criar o elemento que queremos fazer aparecer e desaparecer, para este exemplo criamos uma simples caixa usando um div e css.</p>
<p>O estilo para o elemento.</p>
<pre class="brush: css;">
&lt;style type=&quot;text/css&quot;&gt;
#caixa {width:200px; height:200px; background-color:green;}
&lt;/style&gt;
</pre>
<p>O elemento div.</p>
<pre class="brush: xml;">
&lt;div id=&quot;caixa&quot; style=&quot;display:none;&quot;&gt;
Mensagem!
&lt;/div&gt;
</pre>
<p>Ok esta tudo preparado, agora criamos dois links em que usamos a tag onClick para gerar o evento no qual chamamos a nossa função em javascript que vai lidar com o evento.</p>
<pre class="brush: xml;">
&lt;a href=&quot;#&quot; onClick=&quot;aparecer()&quot;&gt;Aparece&lt;/a&gt;
&lt;a href=&quot;#&quot; onClick=&quot;desaparecer()&quot;&gt;Desaparece&lt;/a&gt;
</pre>
<p>O primeiro link <strong><em>Aparece</em></strong> usa a função <strong><em>aparecer()</em></strong> para criar o efeito aparecer, o segundo link <strong><em>Desaparece</em></strong> usa a função <strong><em>desaparecer()</em></strong> para criar o efeito desaparecer.</p>
<p>Por fim criamos o javascript necessário para lidar com os eventos.</p>
<pre class="brush: jscript;">
&lt;script type=&quot;text/javascript&quot;&gt;
function aparecer(){
$('caixa').appear()
}
function desaparecer(){
$('caixa').fade()
}
&lt;/script&gt;
</pre>
<p>Vamos ao detalhe, primeiro declaramos uma função para isso usamos:</p>
<pre class="brush: jscript;">
function NomeQueQuisermosDar(){
}
</pre>
<p>No nosso caso foi <strong><em>aparecer</em></strong> e <strong><em>desaparecer</em></strong>. De seguida vamos usar prototype para dizermos que elemento queremos modificar:</p>
<pre class="brush: jscript;">
$('OIdDoElementoQueQueremosModificar')
</pre>
<p>Para quem esta habituado a usar javascript, prototype permite usarmos <em><strong>$()</strong></em> em vez do típico <strong><em>document.GetElementById</em></strong>, tornando-se mais simples, e melhor ainda resolve os problemas de usar javascript em browsers diferentes.</p>
<p>Por fim usamos script.aculo.us para os efeitos:</p>
<pre class="brush: jscript;">
.appear()
.fade()
</pre>
<p>Estes efeitos já estão criados pela a framework e se tiveres curiosidade em saber mais abre o ficheiro <strong><em>effects.js</em></strong>.</p>
<h2>Com opção do tempo</h2>
<p>Scrip.aculo.us permite também modificarmos o tempo do efeito, para tal só precissamos de fazer uma pequena modificação.<br />
Começamos por criar mais dois links em que vamos usar outras duas funções em javascript.</p>
<pre class="brush: xml;">
&lt;a href=&quot;#&quot; onClick=&quot;aparecertempo()&quot;&gt;Aparece&lt;/a&gt;
&lt;a href=&quot;#&quot; onClick=&quot;desaparecertempo()&quot;&gt;Desaparece&lt;/a&gt;
</pre>
<p>Como podemos ver pelo o evento <strong><em>onClick</em></strong> têmos que criar duas novas funções:</p>
<pre class="brush: jscript;">
function aparecertempo(){
$('caixa').appear({ duration: 5.0 })
}
function desaparecertempo(){
$('caixa').fade({ duration: 5.0 })
}
</pre>
<p>Basicamente estas novas funções são exactamente iguais as anteriores mas passamos o argumento <strong><em>duration</em></strong> no qual especificamos em segundos o tempo que queremos que o efeito dure. Sendo assim podemos controlar ainda mais o efeito.</p>
<h2>Mais avançado</h2>
<p>Até agora temos explicado como usar o efeito de uma maneira simples, mas e se quisermos complicar um pouco mais? Como por exemplo usar só uma função e só um link para controlarmos o efeito.</p>
<p>Primeiro um novo link:</p>
<pre class="brush: xml;">
&lt;a href=&quot;#&quot; onClick=&quot;controlarcaixa('caixa', 2.0)&quot;&gt;Caixa&lt;/a&gt;
</pre>
<p>Neste exemplo usamos <strong><em>controlarcaixa</em></strong> em que passamos dois argumentos.  O primeiro argumento (<strong><em>caixa</em></strong>) é o ID do elemento que queremos modificar e o segundo argumento (<em><strong>2.0</strong></em>) é o tempo do efeito.</p>
<pre class="brush: jscript;">
function controlarcaixa(CaixaID, Tempo){
if ($(CaixaID).style.display == 'none') {
$(CaixaID).appear({duration: Tempo})
} else {
$(CaixaID).fade({duration: Tempo})
}
}
</pre>
<p>Esta nova função controla tanto o aparecer e desaparecer do nosso elemento. Primeiro analisamos se o nosso elemento esta visível, senão estiver aplicamos o efeito de aparecer. Se estiver visível então aplicamos o efeito de desaparecer.</p>
<h2>Conclusão</h2>
<p>Como podemos ver com a ajuda do scrip.aculo.us e o prototype em poucas linhas de código podemos criar o efeito de aparecer e desaparecer.</p>
<p>Espero que este tutorial tenha dado uma ajuda para a vossa descoberta de ambas as frameworks. No proximo artigo continuamos a analisar os efeitos possiveis.</p>
<p><a title="Download Exemplo" href="http://www.ptajax.com/Downloads/Scriptaculous_Efeitos_Aparecer_Desaparecer.zip" target="_blank"><img class="alignnone size-full wp-image-243" title="Download" src="http://www.ptajax.com/wp-content/uploads/2008/12/download.jpg" alt="Download" width="218" height="37" /></a><a title="Ver exemplo" href="http://exemplos.ptajax.com/scriptaculous_efeitos.php" target="_self"><img class="alignnone size-full wp-image-244" title="Ver Exemplo" src="http://www.ptajax.com/wp-content/uploads/2008/12/verexemplo.jpg" alt="Ver Exemplo" width="218" height="37" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ptajax.com/236/tutoriais/scriptaculous-efeitos-aparecer-e-desaparecer/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Drag e Drop com Scriptaculous</title>
		<link>http://www.ptajax.com/56/ajax/drag-e-drop-com-scriptaculous</link>
		<comments>http://www.ptajax.com/56/ajax/drag-e-drop-com-scriptaculous#comments</comments>
		<pubDate>Sat, 15 Dec 2007 20:31:14 +0000</pubDate>
		<dc:creator>Jota</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[scriptaculous]]></category>

		<guid isPermaLink="false">http://www.ptajax.com/56/ajax/drag-e-drop-com-scriptaculous</guid>
		<description><![CDATA[<img src="http://www.ptajax.com/wp-content/uploads/2008/01/dragedroptutorialsnippet.jpg" alt="Drag e Drop com Scriptaculous" />Este tutorial consiste em explicar como usar o prototype e o script.aculo.us para criar o efeito drag e drop. Analisamos todas as opções, mostramos como criar com exemplos práticos e visuais.]]></description>
			<content:encoded><![CDATA[<p>Mais um exemplo/tutorial do PT Ajax.</p>
<p>Neste tutorial explicamos como podemos criar o efeito de drag e drop de uma maneira simples utilizando o prototype e o script.aculo.us.</p>
<p>Começamos com um exemplo bastante fácil mas depois analisamos as varias opções que o script.aculo.us fornece para criar o efeito ainda mais avançado e eficaz.</p>
<p>Espero que gostem do tutorial e por favor votem e deixem o vosso comentário.</p>
<p>Sem mais demoras visitem o tutorial como usar <a href="http://exemplos.ptajax.com/ajax_drag_drop_scriptaculous.php" title="Drag e Drop com Scriptaculous">Drag e Drop com Scriptaculous</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ptajax.com/56/ajax/drag-e-drop-com-scriptaculous/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Uff.. Como usar Prototype para pedidos em Ajax.</title>
		<link>http://www.ptajax.com/51/tutoriais/uff-como-usar-prototype-para-pedidos-em-ajax</link>
		<comments>http://www.ptajax.com/51/tutoriais/uff-como-usar-prototype-para-pedidos-em-ajax#comments</comments>
		<pubDate>Thu, 13 Dec 2007 00:08:49 +0000</pubDate>
		<dc:creator>Jota</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Prototype]]></category>

		<guid isPermaLink="false">http://www.ptajax.com/51/tutoriais/uff-como-usar-prototype-para-pedidos-em-ajax</guid>
		<description><![CDATA[<img src='http://www.ptajax.com/wp-content/uploads/2008/01/usandoprototype.jpg' alt='Como usar Prototype' /> Neste tutorial explicamos como podes começar a dar os teus primeiros passos na famosa framework prototype, um simples tutorial onde é explicado como podes fazer os teus primeiros pedidos em Ajax.]]></description>
			<content:encoded><![CDATA[<p>Um aparte antes demais. Hoje o PT Ajax não deu tantas noticias como espera dar no futuro. Mas a razão é por querer lançar uma nova área no site.<br />
Uma área onde todos os que gostam de usar Ajax ou estejam interessados a começar, possam aprender um pouco mais sobre Ajax.</p>
<p>Antes de mais o PT Ajax pede desculpa se alguma coisa estiver incorrecta de momento, mas queremos lançar esta área ainda hoje e como o tempo esta a apertar tem de ser agora pois já esta atrasado 9 minutos.</p>
<p>Por isso sem mais demoras o primeiro tutorial de como usar o <a href="http://exemplos.ptajax.com/prototype_introducao_ajax.php" title="prototype para pedidos em Ajax">prototype para fazer pedidos em Ajax</a>, este tutorial tenta ajudar a quem ainda nunca usou Ajax ou o Prototype.</p>
<p>Espero que gostem, e comentem a vontade, este sera talvez o primeiro de muitos.</p>
<p>Já agora peço desculpa se tiver erros, pois ainda não houve uma revisão ao artigo, a qual vai ser feita amanha.</p>
<p><a href="http://exemplos.ptajax.com/prototype_introducao_ajax.php" title="prototype para pedidos em Ajax">Prototype para fazer pedidos em Ajax</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ptajax.com/51/tutoriais/uff-como-usar-prototype-para-pedidos-em-ajax/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
