Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/06/2005, 10:17
Dokan
 
Fecha de Ingreso: octubre-2004
Mensajes: 46
Antigüedad: 19 años, 6 meses
Puntos: 0
funcion para mostrar y ocultar capas poco funcional...

hola a todos!
tengo un problemilla con las capas q estoy haciendo en una web;
he creado varias secciones (div) que se cargan en el mismo marco de modo que cuando el usuario pulsa algun boton se esconde la capa q estaba viendo (hidden) y puede ver la q ha pulsado (visible), hasta aqui bien (gracias a q usé las funciones xHide y xShow de cross-browser.com);
el problema es que la primera vez q se carga la web el marco aparece vacío, el marco donde aparece el contenido de las capas cuando pulsas el boton, esto es pq todas las capas tienen definida en su clase la propiedad visibility=hidden (era la unica manera de que funcionase como yo esperaba q lo haria ... tampoco se si estara muy correcto).
ahora estaba probando a hacer una funcion para cambiar la propiedad visibility a visible para solo una de las capas de modo que al cargar la web por primera vez la capa principal fuese visible, pero tampoco me aclaro muy bien de como hacerlo... ni de como ejecutar esa funcion (si es q esta bien hecha).
si despues de todo este rollo todavia teneis valor de echarle un vistazo al codigo que he desarrollado (como he podido pues estoy empezando ahora ) gracias a esta y otras webs de ayuda a los programadores os lo pego aqui.

Código PHP:
<script type='text/javascript' src='./javascript/x_core.js'></script>
<script type='text/javascript'>

var capa=portada;

function muestraOculta(capa1, capa2){
    xHide(capa2);
    xShow(capa1);
capa = capa1;
}

</script>
</head>


<div id="borde">
<div id="contenedor">

<div id="cabecera"><img src="images/cabecera'villadecalp'.gif" width="770" height="190" alt="Concentración tuning 'Villa de Calpe'" border="0"></div>

<div id="navegador">
<table>
<tr><td><a href="#" class="enlaceboton" onclick="muestraOculta(portada,capa)">  Portada</a> |
</td><td><a href="#" class="enlaceboton" onclick="muestraOculta(noticias,capa)">  Noticias</a> |
</td><td><a href="#" class="enlaceboton" onclick="muestra0culta(concentracion05,capa)">  Concentraci&oacute;n 2005</a> |
</td><td><a href="#" class="enlaceboton" onclick="muestraOculta(anteriores,capa)">  Concentraciones anteriores</a> |
</td><td><a href="#" class="enlaceboton" onclick="muestraOculta(foro,capa)">  Foro</a> |
</td><td><a href="#" class="enlaceboton" onclick="muestraOculta(sobreNos,capa)">  Sobre AMSport</a> |
</td><td><a href="#" class="enlaceboton" onclick="muestraOculta(contacto,capa)">  Contacto</a>
</td></tr>
</table></div>
<div id="cuerpo">
<div id="portada" class="cuerpo"></div>
<div id="noticias" class="cuerpo"></div>
<div id="concentracion05" class="cuerpo"></div>
<div id="anteriores" class="cuerpo"></div>
<div id="foro" class="cuerpo"></div>
<div id="sobreNos" class="cuerpo"></div>
<div id="contacto" class="cuerpo">
<object type="text/plain" data="./include/contacto.txt"></object>
</div></div> 
y las tres funciones del archivo x_core.js de cross-browser.com q se utilizan aqui...

Código PHP:
function xHide(e){return xVisibility(e,0);}
function 
xShow(e) {return xVisibility(e,1);}
function 
xVisibility(ebShow){
    if(!(
e=xGetElementById(e))) return null;
    if(
e.style && xDef(e.style.visibility)) {
        if (
xDef(bShow)) e.style.visibility bShow 'visible' 'hidden';
        return 
e.style.visibility;
        }
    return 
null;
}
function 
xGetElementById(e){
  if(
typeof(e)!='string') return e;
  if(
document.getElementByIde=document.getElementById(e);
  else if(
document.alle=document.all[e];
  else 
e=null;
  return 
e;}
function 
xDef(){
  for(var 
i=0i<arguments.length; ++i){
     if(
typeof(arguments[i])=='undefined') return false;
  }
return 
true;} 
al final son mas de tres, pero creo q estan todas las q se utilizan, algunas no se muy bien q hacen ...(mea culpa) pero yo solo queria q se ocultaran y se mostraran las capas
la funcion muestraOculta la hice yo, asi q probablemente este mal o se pueda ampliar para conseguir algo mas funcional...

bueno, despues de todo este rollo y media hora aqui copiando y pegando estoy mareao , a ver si se entiende algo de lo q he escrito y alguien puede ayudarme
saludos
__________________
:adios: Saludos
Dokan