Usando o jQuery, podemos realizar muitas transições. Entre elas, o show e hide com objetos ou elementos atribuídos com ID, class, input (podendo ser divisórias, tabelas, input) com efeito, recurso que utilizei no desenvolvimento de meu portfolio.
Entenda
Vamos supôr que em nosso projeto, na página de contato, queremos que o formulário seja exibido se desejado. Ao clicar em "abrir formulário" o formulário vai ser mostrado em efeito, podendo ser fechado ao clicar em "fechar formulário".
Exemplo
<!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=utf-8" />
<!-- AUTODIDATT -->
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="http://use.typekit.com/gzc3jvh.js"></script>
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
<script type="text/javascript">
$(document).ready(function(){
$('#contato').hide();
$('a#abrir').click(function(){
$('#contato').show('slow');
});
$('a#fechar').click(function(){
$('#contato').hide('slow');
})
});
</script>
<!-- AUTODIDATT -->
<title>Autodidatt</title>
</head>
<body>
<h1>Contato</h1>
Telefone: (01) 9876-5432<br />
Endereço: Lorem Ipsum is simply dummy text of the printing and typesetting industry.<br />
<h2><a id="abrir" href="#">Abrir formulário de contato</a></h2>
<div id="contato">
<b>Contato</b><br />
Nome:
<label for="textfield"></label>
<input type="text" name="textfield" id="textfield" />
<br />
E-mail:
<input type="text" name="textfield2" id="textfield2" />
<br />
Mensagem:<br />
<label for="textarea"></label>
<textarea name="textarea" id="textarea" cols="45" rows="5"></textarea>
<br />
<input type="submit" name="Enviar" id="Enviar" value="Enviar" />
<br />
<a id="fechar" href="#">Fechar</a>
</div>
</body>
</html>
Os elementos em
vermelho devem ser alterados (e seu conteúdo também, óbvio).
Os elementos em
verde devem ser baixados. Baixe o arquivo
jquery-1.6.2.min.js em:
http://docs.jquery.com/Downloading_jQuery. Caso a versão for alterada e for baixado um arquivo com nome diferente, altere o nome do arquivo no documento conforme o baixado.
Lembrando também que este formulário disponibilizado no código não está em funcionamento, está funcionando somente como exemplo.
Código jQuery:
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="http://use.typekit.com/gzc3jvh.js"></script>
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
<script type="text/javascript">
$(document).ready(function(){
$('#nomedoobjeto').hide();
$('a#abrir').click(function(){
$('#nomedoobjeto').show('slow');
});
$('a#fechar').click(function(){
$('#nomedoobjeto').hide('slow');
})
});
</script>
Para abrir o objeto:
<a id="abrir" href="#">Abrir objeto</a>
O objeto:
<div id="nomedoobjeto">Conteúdo do objeto</div>
Para fechar o formulário:
<a id="fechar" href="#">Fechar objeto</a>
Sendo o código jQuery para colocar antes de
</head> e o código para abrir, o código do objeto e o código para fechar para colocar dentro de
<body>.
Lembrando que o objeto está para ser exibido em div, usando ID, por isso está com #. Você pode usar com class, mudando de #nomedoobjeto para .nomedoobjeto e usando o objeto com class.