Un ejemplo sencillo, que como verás, nada tiene que ver con ajax (aunque luego lo puedas agregar para modificar el contenido del elemento que se muestra y oculta):
Código PHP:
<!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></title>
<style>
.boxExt{ position:relative;}
.boxInt{ position:absolute; top:20px; width:300px; height:300px; border:1px solid #000; display:none;}
.cerrar{ position:absolute; right:3px; top:3px; border:1px solid #000; line-height:20px;width:20px; text-align:center; cursor:pointer}
</style>
<script>
function mostrar(que){
que.style.display='block';
}
function ocultar(que){
que.style.display='none';
}
</script>
</head>
<body>
<div class="boxExt"><div class="boxInt">contenido oculto<div class="cerrar" onclick="ocultar(this.parentNode)">X</div></div><a href="#" onclick="mostrar(this.previousSibling)">enlace</a></div>
</body>
</html>