Tienes razón hay nuchos temas acerca de este tema, nuestro colega @furoya se tomó el trabajo de hacer una reseña, y tan solo con los ejempos que están en el foro.
La podés ver aqui
http://www.forosdelweb.com/f13/apare...8/#post4300505
A las mencionadas (de las cuales no hago juicio alguno) sumo otra variante, que creo no está contemplada, el css, salvo esto
#Uno,#Dos,#Tres{
display: none;
}
que oculta las capas por defecto, es completamente opcional
Código HTML:
Ver original<!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"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> /*<![CDATA[*/
p{
font-weight: bold;
font-size: 11pt;
width: 180px;
cursor: pointer;
font-family: arial, serif;
padding: 5px;
border: dotted 1px #554F9D;
margin-bottom: 2px;
margin-top: 3px;
background-color:white;
}
#Uno,#Dos,#Tres{
display: none;
width: 180px;
font-family: arial, serif;
padding: 15px 5px;
border: dotted 1px #554F9D;
background-color:#A3AD76;
font-size: 10pt;
margin-top: 3px;
margin-bottom:20px;
}
/*]]>*/
<script type="text/javascript"> //<![CDATA[
function contenido(cual){
var capas = new Array("Uno", "Dos", "Tres");
for(var i in capas){
var e = document.getElementById(capas[i]);
capas[i] == cual?e.style.display='block':e.style.display='none';
}
}
//]]>
<p onclick="contenido('Uno')" >uno
</p> <p onclick="contenido('Dos')" >dos
</p> <p onclick="contenido('Tres')" >tres
</p> <div id="Tres">Texto tres
</div>
SAludos