Contraer y expandir con JavaScript



Descripción general

En este documento se describe como es el código JavaScript que hay que añadir a un documento HTML para que una parte del mismo se pueda contraer y expandir

[TOC] Tabla de Contenidos


↑↑↑

1 JavaScript; - Contraer y expandir un documento


↑↑↑

1 1 Introducción

En algunas páginas que hay en la Red, existe la posibilidad de contraer o expandir sucesivamente una parte del cuerpo de la página, normalmente cuando se incluyen códigos o textos a modo de ejemplo que ilustra algún aspecto explicado en el texto.

Este documento muestra como se puede conseguir ese efecto.


↑↑↑

1.2 El proceso

Para que el proceso funcione, se necesitan varios pasos


↑↑↑

1.2.1 El nodo que se contrae

+ Ocultar

<pre id="CodigoPrograma01" 
    style="display: none;">
    hola textoContraible Linea uno
    hola textoContraible Linea dos
 </pre>

Comentarios


↑↑↑

1.2.2 La interfaz de usuario para mostrar /ocultar el nodo

+ Ocultar

<p>
   <a id="xCodigoPrograma01" 
      onclick="MostrarOcultar('CodigoPrograma01');" 
      href="#_self">
         + Mostrar
    </a>
</p>

Comentarios


↑↑↑

1.2.3 El código JavaScript

+ Ocultar

<!-- ''''''''''''''' JavaScript ''''''''''''''' -->
<!-- Indicar que en esta pagina hay codigo JavaScript -->
<meta http-equiv="Content-Script-Type" content="text/javascript" />

<!-- Codigo JavaScript interno de este documento -->        
<script language="javascript" type="text/javascript">
//<![CDATA[
<!-- 

//...........................................................................
// Funcion que muestra u oculta un texto 
// trabaja utilizando la interfaz DOM
//...........................................................................
function MostrarOcultar( ref ) 
{  
  // Nodo del documento que se [muestra /oculta]
  // Tiene que tener un ID unico
  var nodoContraible  = document.getElementById(ref); 

  // Nodo que contiene el [enlace] que maneja el que se [muestra /oculta]
  // DEBE tener el mismo ID que el nodo [nodoContraible] pero precedido por una x
  var xNodoDelEnlace = document.getElementById("x" + ref); 
  
  if (nodoContraible.style.display =='none') 
  { 
     xNodoDelEnlace.innerHTML = ' - Ocultar'; 
     nodoContraible.style.display ="block"; 
  } 
  else 
  { 
    xNodoDelEnlace.innerHTML = ' + Mostrar '; 
    nodoContraible.style.display ='none'; 
  } 
} 

// --> 
//]]>
</script>

Comentarios


↑↑↑

1.2.4 Un ejemplo de cómo funciona

+ Mostrar Ejemplo uno contraido al iniciar


↑↑↑

1.3 Aplicar un Formato Visual

↑↑↑

1.3.1 Los estilos CSS

El código mostrado es un código básico, la realidad es que (normalmente) queremos que la página, el documento resulte vistoso, para lo que tenemos que aplica estilos,

Por ejemplo, aplicaremos en el nodo <head></head> las siguientes líneas de estilo

+ Ocultar

<!-- '''''''''''''' ESTILOS CSS ''''''''''''''' -->
<meta http-equiv="Content-Script-Style" content="text/css" />
<link media="all" rel="stylesheet" type="text/css" href="../cssJS/2008.css" />
<style type="text/css" media="all" >
/*<![CDATA[*/
<!-- 

/* estilo para expandir contraer pre */
.expandirContraerCSS 
{
      font-family:Arial helvetica; 
      color:#AA0000; 
      font-weight:bold;
      text-decoration: none;
      font-size: smaller; 
      border-bottom: #cccccc 1px solid; 
      background-color: #fbedbb;
      width:100%;
      margin-bottom: 0px; 
      margin-top: 0px;
}

.pre_titulo
{
      color: #ffffff;
      background-color: #006699;
      font-weight: bold;
      text-align: left;
      margin-top: 0.5cm;
      margin-bottom: 0cm;
}

pre
{
      background-color:#FBEDBB;
      padding-right: 7pt; 
      padding-left: 7pt;
      padding-bottom: 7pt; 
      padding-top: 7pt; 
      font-family: "Courier New", Courier, mono;
      font-size:9pt;
      white-space: pre;
      overflow:auto;
}
   
 -->

  /*]]>*/ 
</style>

↑↑↑

1.3.2 El código HTML

+ Ocultar

		
<!-- Enlace para llamar a la funcion -->
<p class="expandirContraerCSS">
   <a id="xCodigoPrograma02" 
      onclick="MostrarOcultar('CodigoPrograma02');" 
      href="#_self"
      class="expandirContraerCSS" >
            + Mostrar
   </a>
</p>

Comentarios

+ Ocultar

   <!-- Texto con un titulo que siempre tiene que estar visible -->
   <p class="pre_titulo">
      Este es un TITULO, siempre visible, con fondo azulon y letras blancas
   </p>

  <!-- Zona que se oculta -->
  <pre id="CodigoPrograma02" style="display: block;  margin-top: 0px;">
     hola textoContraible Linea uno
     hola textoContraible Linea dos
  </pre>

Cometarios


↑↑↑

1.3.3 Un ejemplo de cómo funciona

+ Mostrar Ejemplo uno con titulo y expandido al iniciar

Este es un TITULO, siempre visible, con fondo azulon y letras blancas

     hola textoContraible Linea uno
     hola textoContraible Linea dos
  

↑↑↑

1.4 Código de ejemplo

En el siguiente enlace hay un fichero ZIP que contiene ejemplo
* Fichero con el código de ejemplo: [ContraerExpandir_Ejemplo.zip ] [ 2,42 KB ]
* MD5 checksum: [CD38661FB897E16BB4345978D20D4B1F]
* MD5 checksum: Información [http://www.elguille.info/colabora/MD5_checksum.aspx]


↑↑↑

A.2.Enlaces

[Para saber mas]
[Grupo de documentos]
[Documento Index]
[Documento Start]
[Imprimir el Documento]

↑↑↑

A.3.Información del documento

Título
Contraer y expandir con JavaScript
Autor
Palabras claves de busqueda
'atributo ID', contraer, DOM, expandir, 'interfaz DOM', JavaScript, NODO, 'propiedad Display', XHTML, XML
Contenido del documento
En este documento se describe como es el código JavaScript que hay que añadir a un documento HTML para que una parte del mismo se pueda contraer y expandir
Tabla de contenidos
[ 1 JavaScript; - Contraer y expandir un documento ], [ 1 1 Introducción ], [ 1.2 El proceso ], [ 1.2.1 El nodo que se contrae ], [ 1.2.2 La interfaz de usuario para mostrar /ocultar el nodo ], [ 1.2.3 El código JavaScript ], [ 1.2.4 Un ejemplo de cómo funciona ], [ 1.3 Aplicar un Formato Visual ], [ 1.3.1 Los estilos CSS ], [ 1.3.2 El código HTML ], [ 1.3.3 Un ejemplo de cómo funciona ], [ 1.4 Código de ejemplo ]
Archivado en:
informática\programación\javaScript
Fechas
Fecha Creación
2008-10-12T20:43:13 [domingo, 12 de octubre de 2008 a las 20:43:13 horas]
Fecha Publicación
2008-10-12T20:43:14 [domingo, 12 de octubre de 2008 a las 20:43:14 horas]
Fecha de la última actualización en disco
Fecha última Modificación
2008-10-12T20:43:14 [domingo, 12 de octubre de 2008 a las 20:43:14 horas]
Naturaleza del recurso
Text
IMT (Internet Media Type)
text/xhtml+xml
Juego de caracteres)
ISO 8859-1
Referencia Bibliográfica
Referencia bibliográfica del documento ORIGINAL
* Display: none o [http://www.sidar.org/recur/desdi/mcss/manual/ejemplos/display.html]
Situación del documento ORIGINAL en la red
[http://www.sidar.org/recur/desdi/mcss/manual/ejemplos/display.html]
Idioma
es-ES [es = Español] [ES = España]
Copyright
Texto con los derechos
© Copyright Joaquin 'jms32®' Medina Serrano 1.997-2008 - Reservados todos los derechos.
Información obtenida con JavaScript
Situación de ESTE documento en la red
¿ Quien ha llamado a ésta página ?
Navegador empleado para ver ésta página
© 1997 - - La Güeb de Joaquín
Joaquin Medina Serrano
Ésta página es española