<?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>Como Criar Sites &#124; Aprenda grátis como fazer seu site &#187; banner</title>
	<atom:link href="http://www.comocriarsites.com/tag/banner/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.comocriarsites.com</link>
	<description>Aprenda a criar sites, html e manhas para fazer seu site.</description>
	<lastBuildDate>Wed, 06 Jan 2010 12:51:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Popup com DIV sem Nova Janela (Float Popup)</title>
		<link>http://www.comocriarsites.com/javascript/popup-com-div-sem-nova-janela-float-popup/</link>
		<comments>http://www.comocriarsites.com/javascript/popup-com-div-sem-nova-janela-float-popup/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 06:39:40 +0000</pubDate>
		<dc:creator>Raoni Novellino</dc:creator>
				<category><![CDATA[HTML CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[banner]]></category>
		<category><![CDATA[criar site]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[estilo]]></category>
		<category><![CDATA[fazer site]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[popup]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[style]]></category>

		<guid isPermaLink="false">http://www.comocriarsites.com/?p=19</guid>
		<description><![CDATA[Nesse post vou mostrar como fazer uma janela popup sem que o navegador abra realmente uma nova janela, com a tag div. Isso é bom pois todos os navegadores hoje bloqueiam popup de nova janela, mas é muito díficil ter bloqueado o Javascript, que é o que utilizaremos também para fazer o div aparecer e [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: xx-large;">N</span>esse post vou mostrar como fazer uma janela popup sem que o navegador abra realmente uma nova janela, com a tag <strong><em>div</em></strong>. Isso é bom pois todos os navegadores hoje bloqueiam popup de nova janela, mas é muito díficil ter bloqueado o <em>Javascript</em>, que é o que utilizaremos também para fazer o <strong><em>div</em></strong> aparecer e desaparecer.</p>
<p>Vamos dividir esse código em arquivos, abaixo descrevo os arquivos:</p>
<p><em><strong>index.html</strong></em>: Esse arquivo pode ser qualquer arquivo HTML que você queira colocar o banner.</p>
<p><em><strong>banner.js</strong></em>: Arquivo onde ficarão todos os códigos <em>javascript</em> para mostrar e esconder o popup.</p>
<p><strong><em>banner.css</em></strong>: Arquivo que contém as classes de estilo. Pode conter outras classes dentro dele ou você pode modificar as classes do popup.</p>
<h2>O Arquivo index.html</h2>
<p>No arquivo <strong><em>index.html</em></strong>, você precisa chamar os outros dois arquivos, <em><strong>banner.js</strong></em> e <strong><em>banner.css</em></strong>. Para chamar o <strong><em>banner.js</em></strong>, use a seguinte linha:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;script language="JavaScript" src="http://url.para/script/banner.js"&gt;&lt;/script&gt;</pre>
</div>
<p>Mude a url no atributo <em>src</em> para a url correta onde está o arquivo <strong><em>banner.js</em></strong>.</p>
<p>Para chamar o arquivo <em><strong>banner.css</strong></em>, use a seguinte linha:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;link href="http://url.para/estilo/banner.css" rel="stylesheet" type="text/css" /&gt;</pre>
</div>
<p>Mude a url no atributo <em>href</em> para a url correta onde está o arquivo <em><strong>banner.css</strong></em>.</p>
<p>Essas linhas normalmente são chamadas dentro do cabeçalho do documento html (entre a tag <strong><em>&lt;head&gt;</em></strong> e <strong><em>&lt;/head&gt;</em></strong>).</p>
<h3>O Código HTML</h3>
<p>No corpo do documento html (entre as tags <strong><em>&lt;body&gt;</em></strong> e <em><strong>&lt;/body&gt;</strong></em>), entra o código:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;div id="banner_popup" style="position:absolute; top: 0px; left: 0px; display: none;"&gt;
	&lt;table border="0" cellpadding="0" cellspacing="0"&gt;
		&lt;tr&gt;
			&lt;td align="right"&gt;&lt;strong&gt;&lt;a href="javascript: void(0);" onclick="fecha_banner();" class="linksFechar"&gt;&lt;img src="http://localhost/blog_exemplo/banner_popup/icone-fechar.gif" border="0"&gt; Fechar&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
				&lt;a href="http://www.comocriarsites.com/" target="_blank"&gt;&lt;img src="http://localhost/blog_exemplo/banner_popup/Ninfeias.jpg" border="0"&gt;&lt;/a&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;
&lt;/div&gt;</pre>
</div>
<p>A primeira linha é uma tag <strong><em>&lt;div&gt;</em></strong>, tem o atributo <em>id</em> igual a <em>banner_popup</em> &#8211; esse id nós vamos utilizar para achar o <strong><em>div</em></strong> no documento pelo <em>Javascript</em>. O outro atributo do <strong><em>div</em></strong> é o <em>style</em> &#8211; esse atributo define o estilo do nosso componente, no caso o <strong><em>div</em></strong>. Ele define que o <em><strong>&lt;div&gt;</strong></em> vai ficar em posição absoluta, a 0 (zero) pixels do topo e da esquerda da página, e não vai ser renderizado (mostrado) na página (<em>display: none;</em>).</p>
<p>Para mais referências de folha de estilo (CSS) entre em <a title="Entendendo CSS (folhas de estilo): Cascading Style Sheet - Parte 1" href="http://www.comocriarsites.com/html-css/entendendo-css-folhas-de-estilo-cascading-style-sheet-parte-1/">Entendendo CSS (folhas de estilo): Cascading Style Sheet &#8211; Parte 1</a> e <a title="Entendendo CSS (folhas de estilo): Cascading Style Sheet - Parte 2" href="http://www.comocriarsites.com/html-css/entendendo-css-folhas-de-estilo-cascading-style-sheet-parte-2/">Entendendo CSS (folhas de estilo): Cascading Style Sheet &#8211; Parte 2</a>. E para mais informações da propriedade de estilo <em>display</em> entre em <a title="Propriedade Display do Elemento (CSS)" href="http://www.comocriarsites.com/sem-categoria/propriedade-display-do-elemento-css/">Propriedade Display do Elemento (CSS)</a>.</p>
<p>Esse é o código HTML do banner propriamente dito, lógico que a tabela dentro do <em><strong>div</strong></em> você pode alterar para ficar de acordo com o seu site, mas não esqueça de colocar sempre algum lugar para fechar o banner, mesmo que ele se feche automaticamente após um tempo. Para entender um pouco mais de tabela acesse <a title="Como Funciona a Tabela (tag &lt;table&gt;) HTML" href="http://www.comocriarsites.com/html/como-funciona-a-tabela-tag-table-html/">Como Funciona a Tabela (tag &lt;table&gt;) HTML</a>.</p>
<p>No nosso banner a função que vai fecha-lo é a <em>fecha_banner()</em> que está na primeira linha da tabela, no atributo <em>onclick</em> da tag <strong><em>&lt;a&gt;</em></strong>. O atributo <em>onclick</em> executa o código <em>Javascript</em> dentro dele quando o elemento é clicado com o mouse. Podemos ver ainda na tag <em><strong>&lt;a&gt;</strong></em>, que no atributo <em>href</em>, que seria o link que ele iria seguir caso se clicasse nele, mas ele está com uma função <em>Javascript</em> (<em>javascript: void(0);</em>). O nome <em>javascript</em> no início do atributo <em>href</em> indica que eu vou usar um código <em>Javascript</em> nesse atributo, e a função <em>void(0);</em> diz que quando o link for clicado não seguir para lugar nenhum.</p>
<p>Nesse código temos duas imagens, uma faz parte do fechar do banner e a outra é o banner propriamente dito.</p>
<h3>A Chamada Javascript</h3>
<p>A última parte no nosso arquivo <em><strong>index.html</strong></em> é a chamda para a função <em>Javascript</em> que irá abrir o banner. Abaixo o código:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;script language="JavaScript"&gt;
if(document.getElementById('banner_popup'))
	abre_banner();
&lt;/script&gt;</pre>
</div>
<p>Esse código deve vir logo antes da tag <em><strong>&lt;/body&gt;</strong></em>, ou podemos colocar a função <em>abre_banner()</em> no atributo <em>onload</em> do próprio <em><strong>&lt;body&gt;</strong></em>. Esse código só faz verificar se existe um elemento com o identificador <em>banner_popup</em>, e se houver, chama a função para exibir o banner.</p>
<h3>O Arquivo index.html Completo</h3>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;Banner Popup&lt;/title&gt;
&lt;link href="banner.css" rel="stylesheet" type="text/css" /&gt;
&lt;script language="JavaScript" src="banner.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id="banner_popup" style="position:absolute; top: 0px; left: 0px; display: none;"&gt;
	&lt;table border="0" cellpadding="0" cellspacing="0"&gt;
		&lt;tr&gt;
			&lt;td align="right"&gt;&lt;strong&gt;&lt;a href="javascript: void(0);" onclick="fecha_banner();" class="linksFechar"&gt;&lt;img src="http://localhost/blog_exemplo/banner_popup/icone-fechar.gif" border="0"&gt; Fechar&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;
				&lt;a href="http://www.comocriarsites.com/" target="_blank"&gt;&lt;img src="http://localhost/blog_exemplo/banner_popup/Ninfeias.jpg" border="0"&gt;&lt;/a&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;
&lt;/div&gt;

&lt;script language="JavaScript"&gt;
if(document.getElementById('banner_popup'))
	abre_banner();
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
</div>
<h2>O Arquivo banner.js</h2>
<p>No arquivo <strong><em>banner.js</em></strong> vamos colocar todas nossas funções <em>Javascript</em>. Abaixo o conteúdo do arquivo:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>function fecha_banner()
{
	var banner_obj = document.getElementById('banner_popup');
	banner_obj.style.display = 'none';
}

function fecha_banner_timeout()
{
	setTimeout('fecha_banner()', 10000);
}

function abre_banner()
{
	var banner_obj = document.getElementById('banner_popup');

	banner_obj.style.left = '200px';
	banner_obj.style.top = '100px';

	banner_obj.style.display = '';

	fecha_banner_timeout();
}</pre>
</div>
<h3>A função <em>fecha_banner()</em></h3>
<p>A função <em>fecha_banner()</em> fecha o banner, obviamente. Ela é chamada quando se clica no <em>Fechar</em> do banner ou quando se passa dez segundos, como vamos ver na próxima função. Ela pega o objeto do banner através da função <em>getElementById()</em> e atribui ao estilo <em>display</em> o valor <em>none</em>, que faz o elemento deixar de ser exibido (renderizado).</p>
<h3>A função <em>fecha_banner_timeout()</em></h3>
<p>A função <em>fecha_banner_timeout()</em> chama a função <em>fecha_banner()</em> após dez segundos, utilizando a função <em>setTimeout()</em> do <em>Javascript</em>. A função <em>setTimeout()</em> do <em>Javascript</em> é bem legal, mas ela é assunto de um post futuro. Basicamente ela executa uma determinada função dado um determindo tempo, em milisegundos.</p>
<h3>A função <em>abre_banner()</em></h3>
<p>A função <em>abre_banner()</em>, como o nome diz, abre o banner, ou melhor explicando, faz ele ser exibido. Ela pega o objeto do banner, depois diz onde o banner vai aparecer definindo os estilos <em>top</em> e <em>left</em> (no nosso caso vai aparecer a 200 pixels da esquerda e a 100 pixels do topo), vai também definir o estilo <em>display</em> para vazio, que diz que vai ser utilizado o <em>display</em> padrão do elemento para renderiza-lo. Por fim, ele chama a função <em>fecha_banner_timeout()</em>, que vai esperar dez segundos para fechar o banner.</p>
<h2>O Arquivo banner.css</h2>
<p>No arquivo <em><strong>banner.css</strong></em> vamos colocar somente o estilo do link de fechar, ela pode conter outros estilos caso necessite. Abaixo o código:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>.linksFechar:link
{
 	text-decoration: none;
	font-size: 14px;
	color: #000000;
}</pre>
</div>
<p>Nesse arquivo só é definido esse estilo, que o texto não vai ser sublinhado, a fonte vai ter tamanho 14 pixels e a cor vai ser preta.</p>
<p>E juntando tudo isso vamos ter um banner popup sem abrir uma nova janela, utilizando <em>Javascript</em>.</p>
<p>Para ver esse exemplo funcionando, entre em <a title="Exemplo de Banner Popup" href="http://www.comocriarsites.com/exemplos/banner_popup/index.html">Exemplo de Banner Popup</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.comocriarsites.com/javascript/popup-com-div-sem-nova-janela-float-popup/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
