Como criar popup em div box

Popup

Hoje em dia os navegadores já vêm com a funcionalidade de bloqueio de pop-ups, ou janelas sobressalentes, porém existe uma forma de evitar que o navegador bloqueie uma informação ou algum conteúdo que seja importante ser aberto com uma mensagem atual, ou uma propaganda… ou o que quer que seja. Esta forma é através das DIVs, você pode fixar uma div sobre seu site, para isso, basta criar uma div fixa na tela, com um botão flutuante à esquerda para que seja fechada.

Uma forma de fazer isso, é justamente através de uma simples função em Javascript, que você pode definir a abertura e o fechamento da mesma.

Então, para fazer a sua div, vc deve definir as regras para que ela esteja visível ou invisível (defina em seu CSS o parâmetro: display:block; ou display:none, também pode ser usado visibility:hidden, ou visibility:visible), isso vai depender do comportamento que você deseja para sua div.

Então sua html ficaria mais ou menos assim:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Teste de Popup</title>
<script type="text/javascript">
// abre a DIV
function abreJanela(id){
var obj = document.getElementById(id);
obj.style.display='block';
}

// fecha a DIV
function fechaJanela(id){
var obj = document.getElementById(id);
obj.style.display='none';
}
</script>
<style type="text/css">
body {
	background: #000000;
}
#popup {
		font-family:Arial, Helvetica, sans-serif;
		display:block;
		position:absolute;
		width:300px;
		height:450px;
		left:50%;
		top:30px;
		border:1px solid #000000;
		padding:6px;
		color:#000000;
		background: #fff;
		z-index:300;
       }
#popup p{ line-height:18px}
#popup a.fechar {
                 color:#000033;
				 text-align:right;
                 float:right;
                 text-decoration:none;
				 font-family:Arial, Helvetica, sans-serif;
				 width:20px;
				 }
#popup a:hover.fechar { color:#003399
				      }

</style>
</head>

<body>

<a href="javascript:;" onclick="abreJanela('popup')">Abrir Popup</a>

<div id="popup">
<a href="javascript:;" onclick="fechaJanela('popup')" class="fechar">X</a>
<!--//aqui entra seu conteúdo-->
<p>teste de mensagem</p>
</div>
</body>
</html>

Porém você pode implementar ainda mais seu código javascript, usando recursos do jQuery:
conforme abaixo:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
// abre a DIV
function abreJanela(id){
         var obj = document.getElementById(id);
         $(obj).fadeIn("slow");
         }
// fecha a DIV
function fechaJanela(id){
         var obj = document.getElementById(id);
         $(obj).fadeOut("slow");
         }
</script>

2 Responses to Como criar popup em div box

  1. Pyetro disse:

    Ficou bom, mas vi uma redundancia ae, no trecho :

    // abre a DIV
    function abreJanela(id){
      var obj = document.getElementById(id);
      $(obj).style.display='block';
    }
    
    Porderia muito bem ter feito dessa forma:
    
    // abre a DIV
    function abreJanela(id){
      $(id).style.display='block';
    }
    

    Já que está usando jQuery, não há a necessidade de usar js na mão.

    • Ivan disse:

      Olá Pyetro,
      Não se trata de uma redundância, vc pode utilizar vários métodos, mas o ideal para que funcione o seu método deveria ser assim…

      function abreJanela(id){
      $('#'+id).fadeIn("slow");
      }
      function fechaJanela(id){
      $('#'+id).fadeOut("slow");
      }
      

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>