Ver Mensaje Individual
  #15 (permalink)  
Antiguo 13/12/2010, 17:00
Avatar de IsaBelM
IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 11 meses
Puntos: 1012
Respuesta: Mostrar dive segun llamada

la explicación es mas o menos esta
Cita:
// cuando la página se carge se ejecuta el primer ciclo
window.onload = function() {
// aquí sacamos una colección con todos los links que hay en la página
var links = document.getElementsByTagName('a');
// se ejecuta el primer ciclo. la iteración es desde 0 hasta el largo de links, en este caso 3. este ciclo solamente se ejecuta una vez. cuando la página está cargada
for (var i = 0; i < links.length; i++) {
// asignamos un evento a cada vinculo, así nos evitamos invocar una función desde los vinculos
links[i].onclick = function() {
// al pulsar sobre cualquier vinculo, se ejecuta este otro ciclo para recorrer todos los vinculos, tal como en el primer ciclo
for (var n = 0; n < links.length; n++) {
// esto es una codicional para asignar el estado del div
// esta parte, (this.name == links[n].name), dice: si el nombre del vinculo pulsado (this.name) es igual al nombre del vinculo con indice "n" (links[n].name)
// por ejemplo si pulsas en primer vinculo, this.name y links[0] es igual a div_1
// ? 'block' : 'none'; esto otro dice que en caso que se cumpla la anterior condición, el div se muestre "block" si no se cumple "none"
document.getElementById(links[n].name).style.display = (this.name == links[n].name) ? 'block' : 'none';
}
// con este return se evita que el vinculo se comporte como tendría que hacerlo, es decir redireccionar a otra página
return false;
}
}
}