Podés intentar con esto
Código HTML:
Ver original<!DOCTYPE html>
<title>Mostrar ocultar capas cambiando valor del texto
</title> <meta name="description" content="Mostrar ocultar capas cambiando valor del texto" /> /*<![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;
}
div.celda{
width: 300px;
height: 300px;
position: relative;
background-color: lime;
}
#oc{
width: 100%;
height: 100%;
background-color: green;
position: absolute;
top: 0;
left: 0;
visibility: hidden;
z-index: 999;
}
/*]]>*/
<script type="text/javascript"> //<![CDATA[
/* Configurar */
var tn = "Ocultar"; // Texto para cuando la capa esté visible
var tb = "Mostrar"; // Texto para cuando la capa esté oculta
/* No Editar */
var tags_span = new Array();
function cTxt(laclase,eltexto,propiedad) {
var tags_span=document.getElementsByTagName('span');
for (i=0; i<tags_span.length; i++) {
if (tags_span[i].className==laclase) {
var texto = eltexto;
tags_span[i].innerHTML= texto;
}
}
document.getElementById(laclase).style.visibility = propiedad;
}
function m_ov(cdv) {
var e = document.getElementById(cdv);
e.style.visibility =(e.style.visibility=="visible")?cTxt(cdv,tb,'hidden'):cTxt(cdv,tn,'visible');
}
//]]>
<p><span class="oc" onclick="m_ov('oc');">Mostrar
</span></p> <table border="1" cellspacing="2" cellpadding="2"> Contenido celda
Contenido div
Son similares. pero tenes que reservar el alto para la capa, habría que ver toda la tabla, probalo
Saludos