Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/06/2012, 05:04
gmonterog
 
Fecha de Ingreso: mayo-2012
Ubicación: Palma de Mallorca
Mensajes: 71
Antigüedad: 11 años, 11 meses
Puntos: 1
Pasar parámetros en manejador de eventos semántico

Hola a todos.

He estado consultando temas antiguos del foro para solucionar mi problema y algo no he debido entender porque mi código no funciona (no reporta error, simplemente no lanza la función).

Tengo este codigo javascript

Código Javascript:
Ver original
  1. //función que muestra capa oculta  
  2. function mostrarOverlay(myID){
  3.         document.getElementById("myID").style.display='block';
  4.         }
  5. //función que oculta capa visible
  6. function ocultarOverlay(myID){
  7.     document.getElementById("myID").style.display='none';
  8.     }
  9.  
  10. window.onload = function() {
  11.     document.getElementById("despliega1").onclick=function(e) {mostrarOverlay('overlay1');};
  12.     document.getElementById("cerrar").onclick=function(e) {ocultarOverlay('overlay1');};
  13.     }

Dentro de mi HTML tengo

Código HTML:
Ver original
  1. <div class="cajaInicio">
  2.     <a href="medicinaEstetica.html"><h1>Medicina estética</h1></a>
  3.     <div class="interior">
  4.         <img id="" alt="" src="img/medicinaEstetica.jpg">
  5.     </div>
  6.     <div class="persiana" id="despliega1"><p>Descubre qué nos hace ser los mejores.</p></div>
  7. </div>
  8.  
  9. y un poco más adelante...
  10.  
  11. <div class="overlay" id="overlay1">
  12.     <div class="transparencia"></div>
  13.     <div class="interiorOverlay">
  14.         <img id="cerrar" style="width:30px; heigth:auto;" alt="" src="img/cerrar.jpg">
  15.         <a href="medicinaEstetica.html"><h2>¡La mejor medicina estética!</h2></a>
  16.         <h3>Utilizamos <em>los mejores productos</em> del mercado y  los métodos más eficaces de rejuvenecimiento.</h3>
  17.         <h3>Tenemos <em>los precios más ajustados</em> del mercado.</h3>
  18.         <h3>Te quedarás muy satisfecho con el <em>servicio</em> recibido.</h3>
  19.     </div>
  20. </div> <!-- fin de overlay1 -->

que son el elemento que lanza la función y sobre el que actua la función. Lógicamente tengo muchos del mismo tipo con diferentes id: despliega1, despliega2... y overlay1, overlay2...

Si no he entendido mal, se trata de pasar mis funciones con los parámetros que necesite (los que admita la fución, lógicamente) a través de una función generica, en este caso function(e). El concepto creo haberlo entendido pero debo tener algún error de sintaxis o algo porque no me funciona.

Además tengo una duda de concepto, cuando paso la función genérica function(e), el parámetro (e) ¿que representa?.

Ruego me prestéis vuestra ayuda.

Saludos y gracias por anticipado.

GMG.