HTMLpointHTMLpoint HTMLpoint.com


 Menús jerárquicos en cascada 2/3

 por Massimiliano Valente

La tercera parte de sintaxis JavaScript invoca mediante las dos referencias:


los dos archivos ".js" externos que contienen el código necesario para el funcionamiento correcto del menú: arrays.js y menu.js

Dichas referencias resultan fundamentales y no pueden omitirse bajo ningún concepto, a menos que el código JavaScript se inserte dentro del documento HTML, es decir, a menos que se cambie el nombre de los archivos relacionados.

Dentro de la marca <BODY> se definen los niveles del objeto "array", a través de la asignación de variables con prefijo "arMenu":


El gestor de eventos "onMouseOver" considera la posición del cursor del ratón con referencia a una conexión hipertextual e invoca la función "popUp". "elMenu" es el primer argumento de "popUp" y no debe confundirse con el objeto "array".

Los argumentos son objetos, valores o variables requeridos para la elaboración de un método o una función y trabajan exclusivamente con referencia a esto.

En particular, "onMouseOver" se activa cuando el cursor del ratón abandona la zona del enlace textual. Por el contrario, "onMouseOut" se activa cuando el cursor entra en la zona del enlace.

La función "popDown" es necesaria para Netscape, mientras Internet Explorer pasa implícitamente el objeto "event" a toda función que lo invoque.

Arrays.js

Los"array" representan, en JavaScript, un instrumento para indicizar la información como colección ordenada de datos. El archivo "arrays.js" desarrolla, desde este punto de vista, el contenido de cada una de las voces del menú.

arMenu1 = new Array("Argomento A","http://www.htmlpoint.com",1,

El texto que se debe asignar a la voz del menú y el correspondiente enlace, se insertan entre comillas. El valor "1" indica la existencia de un menú "child" nidificado. Un valor igual a "0", sin embargo, indica la ausencia de enlaces nidificados.

El objeto array "arMenu1" se encuentra en el nivel más alto de la jerarquía y de él descienden todos los demás. "arMenu1" es invocado por el elemento "elMenu1" presente en el file "menu.htm".

Para crear niveles descendentes desde "arMenu1" es necesario crear ulteriores menús "child". Para ello se adopta una numeración progresiva:


Muestra el ejemplo práctico


Para insertar otro menú "child" en un nivel jerárquico inferior (por ejemplo, en "arMenu1_1") basta con insertar una numeración del tipo:


Para aclarar más este punto, pongamos que queremos añadir un tercer nivel de menú inferior (denominado "Argomento A3") al siguiente código:


Hay que insertar una simple cadena de sintaxis con sufijo "1", que añade la referencia al nuevo nivel "child":


Hay ya dos niveles "child" que hacen referencia a "Argomento A1" y "Argomento A2":


A éstos se añade un tercer nivel denominado "arMenu1_1_3":


El archivo "menu.js" contiene gran parte de la sintaxis JavaScript. Su estructura es compleja y adolece del peso debido al doble código para el correcto funcionamiento con Netscape y Explorer.

Por ejemplo, la función "popUp" que asigna al ratón las coordenadas X e Y debe expresarse con doble sintaxis:


y esto en cuanto Netscape asigna las coordenadas con referencia a "xPos" e "yPos", mientras Explorer utiliza "event.x" y "event.y".



  Vuelve a principio de página