uso Tabbox

Documentación y ejemplos de uso de Tabbox.


requisitos

Para usar Tabbox necesitamos incluir en nuestro documento el framework JavaScript Prototype, la librería de efectos Script.aculo.us , Usefull y por último Tabbox. El código sería algo como esto:

       
 <head>
   .
   .
  <script type="text/javascript" src="ruta/a/prototype.js"></script>
  <script type="text/javascript" src="ruta/a/scriptaculous.js?load=effects"></script>
  <script type="text/javascript" src="ruta/a/usefull.js"></script>
  <script type="text/javascript" src="ruta/a/tabbox.js"></script>
   .
   .
 </head>
       
      

uso

Tabbox necesita una estructura mínima en nuestro documento HTML: un elemento 'div' contenedor y el contenido formado por otros elementos que conformarán las fichas con pestañas a los que se les aplicará la clase 'tab-panel' (veremos, más adelante, que no es obligatorio que la clase se llame de esta forma). El código:

       
 <div id="contenedor-fichas">
  <div class="tab-panel">contenido 1</div>
  <div class="tab-panel">contenido 2</div>
   .
   .
  <div class="tab-panel">contenido n</div>
 </div>
       
      

Ahora necesitamos definir las pestañas. Este sería el código básico:

       
 <div id="contenedor-pestanyas">
  <ul>
   <li><a href="#" class="tab-jumper">pestaña 1</a></li>
   <li><a href="#" class="tab-jumper">pestaña 2</a></li>
          .
          .
   <li><a href="#" class="tab-jumper">pestaña n</a></li>
  </ul>
 </div>
       
      

Tal como se ve en el código de arriba, para definir las pestañas utilizamos la clase 'tab-jumper'. Aunque se puede apuntar con el atributo 'href' al panel en cuestión no es absolutamente necesario: la primera pestaña apunta al primer 'div', la segunda al segundo y así sucesivamente.

Si además de pestañas queremos definir controles (anterior y siguiente) entonces:

       
 <div id="contenedor-controles">
  <a id="prevcontrol" class="tab-control" rel="prev" href="#">anterior</a>
  <a id="nextcontrol" class="tab-control" rel="next" href="#">siguiente</a>
 </div>
       
      

Si necesitamos saltar a otro documento desde la primera o última ficha, podemos sustituir en el atributo 'href' el carácter '#' por un URI.

Instanciamos un objeto Tabbox:

       
 <script type="text/javascript">
 /* <![CDATA[ */
 
  new TabBox('contenedor-fichas', 'contenedor-pestanyas', {
   controlsContainer: 'contenedor-controles',
   effect: 'appear',
   includeGoUp: false,
   jsCtnerOffsetX: 20
  });
 
 /* ]]> */
 </script>
       
      

El primer argumento del constructor es el contenedor de las fichas, el segundo es el contenedor de las pestañas y el tercero es una lista de opciones de configuración en formato JSON.


Se pueden incluir enlaces internos entre fichas. En tal caso hay que aplicarles a los enlaces la clase 'tab-anchor'. El código:

       
 <a href="#commentform" class="tab-anchor">texto enlace</a>
       
      

Un poco de CSS del aplicado a las pestañas de este documento (meramente como ejemplo):

       
 #contenedor-pestanyas{display:none;}

 #contenedor-fichas{position:relative; left:0; top:0; overflow:hidden; width:99%;}
 
 .tab-panel{position:absolute; left:0; top:0;}
 
 .tab-control{position:absolute; display:block;}
 
 #prevcontrol{left:10px; bottom:5px;}
 
 #nextcontrol{right:10px; bottom:5px;}
       
      

ejemplos

  • Koko → tabbox funcionando como un libro.

opciones de configuración

En la siguiente tabla se describen las opciones de configuración de Tabbox.

opción
(tipo)
(valor por defecto)
(versión)
Descripción
afterShow
(función)
(null)

Función a ejecutar después de mostrar una ficha.

anchorClassName
(cadena)
(tab-anchor)

Clase a aplicar a los enlaces internos entre fichas.

beforeShow
(función)
(null)

Función a ejecutar antes de mostrar una ficha.

controlClassName
(cadena)
(tab-control)
(1.0.3)

Clase a aplicar a los controles.

controlsContainer
(elemento)
(null)
(1.0.3)

Elemento contenedor de los controles.

cookieName
(cadena)
(TBC)

Cuando se utiliza la opción rememberTab se utilizan Cookies para almacenar la información. Con esta opción podemos determinar el nombre de las cookies.

disabledClassName
(cadena)
(tab-disabled)

Clase CSS que Tabbox aplica a los controles deshabilitados.

duration
(flotante)
(1)

Duración del efecto aplicado en segundos.

effect
(cadena)
(scroll)

Efecto a aplicar al mostrar fichas: 'none' o 'appear'.

goUpClassName
(cadena)
(go-Up)

Clase a aplicar al control go-Up.

goUpOffsetX
(entero)
(0)

Desplazamiento horizontal a aplicar al control go-Up. Util para posicionarlo en el caso de que la posición por defecto no se ajuste a nuestras necesidades.

goUpOffsetY
(entero)
(0)

Desplazamiento vertical a aplicar al control go-Up. Util para posicionarlo en el caso de que la posición por defecto no se ajuste a nuestras necesidades.

goUpText
(cadena)
(arriba)

Texto que mostrará el control go-Up.

includeGoUp
(boolean)
(false)

Si true incluye un control go-Up. Este control se pone en la parte de abajo del contenedor de las fichas y permite hacer scroll hasta el principio del contenedor. Es útil en fichas muy grandes.

initial
(entero o cadena)
(0)

Permite indicar qué ficha se mostrará al inicio: puede ser el 'id' del elemento o la posición de la ficha con respecto a las demás empezando por cero.

jumperClassName
(cadena)
(tab-jumper)

Clase que se les aplica a los controles tipo 'jumper' (pestañas).

jsCtnerOffsetX
(entero)
(0)

Desplazamiento horizontal a aplicar al contenedor de las pestañas. Util para posicionarlo en el caso de que la posición por defecto no se ajuste a nuestras necesidades.

jsCtnerOffsetY
(entero)
(0)

Desplazamiento vertical a aplicar al contenedor de las pestañas. Util para posicionarlo en el caso de que la posición por defecto no se ajuste a nuestras necesidades.

panelClassName
(cadena)
(tab-panel)

Clase que se les aplica a las fichas.

rememberTab
(boolean)
(false)

Si true Tabbox recordará entre carga y carga la última pestaña abierta. Util si existe, por ejemplo, paginación de resultados.

selectedClassName
(cadena)
(tab-selected)

Clase que se le aplica al control 'jumper' (pestaña) seleccionado.

tabsPosition
(cadena)
(top)

Permite determinar la posición de las pestañas: 'top' o 'bottom'.