Ver Mensaje Individual
  #14 (permalink)  
Antiguo 25/12/2017, 16:00
Avatar de xfxstudios
xfxstudios
 
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Dialog funciona solo para un elemento y no para el resto

es porque con el onclick inicial llamas a la funcion la que no hace nada, solo activar los observadores, es en el segudo click que se ejecuta la funcion de abrir el modal

Código Javascript:
Ver original
  1. function popup(v)//PRIMER CLICK--------------------------
  2.         {
  3.                         var d = "d" + v;
  4.             var c = "#close" + v;
  5.             var di = "#show" + v;
  6.            
  7.             var dialog = document.getElementById(d);
  8.             var clos = document.getElementById(c);
  9.  
  10. //SEGUNDO CLICK-------------------------------------------------------------
  11.           document.querySelector(di).onclick = function() {
  12.               dialog.showModal();
  13.           };
  14.  
  15.           document.querySelector(c).onclick = function() {
  16.               dialog.close();
  17.           };
  18. //SEGUNDO CLICK HASTA AQUI-----------------------------------------------
  19.             }

prueba eliminando el primer observador y ejecutando de una vez la apertura de tu modal al hacer click, de esa manera el espera en el segundo click es el cierre del modal:

Código Javascript:
Ver original
  1. function popup(v)
  2.         {
  3.                         var d = "d" + v;
  4.             var c = "#close" + v;
  5.             var di = "#show" + v;
  6.            
  7.             var dialog = document.getElementById(d);
  8.             var clos = document.getElementById(c);
  9.  
  10.           dialog.showModal();//PRIMER CLICK ABRO EL MODAL
  11.  
  12. //SEGUNDO CLICK CIERRO EL MODAL
  13.           document.querySelector(c).onclick = function() {
  14.               dialog.close();
  15.           };
  16.             }
__________________
[email protected]
HITCEL