Ver Mensaje Individual
  #13 (permalink)  
Antiguo 25/12/2017, 04:53
bienpiyao
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Dialog funciona solo para un elemento y no para el resto

Cita:
Iniciado por ArturoGallegos Ver Mensaje
En lugar de abrir un nuevo tema
http://www.forosdelweb.com/f179/func...imero-1160479/

atiende y muestra avances en este mismo hilo.

quizás una forma en que todos te puedan ayudar es crear una demo en http://jsfiddle.net/
así muestras una demo funcional de como lo tienes y vemos que esta ocurriendo.
Ya que has borrado el post, podías haber copiado el contenido aquí. Podías haber pensado que me llevó un tiempo hacerlo y solo por eso...

En fin...

Decidí abrir otro hilo porque la pregunta no es la misma. Ya que ahora el dialog sí que se abre para todos los elementos, por tanto esta pregunta estaría solucionada, pero como el señor moderador ha decidido cerrarme el otro hilo pese a ser dos cuestiones diferentes, pues mezclemos...

He solucionado el problema que dice el hilo, ya que ahora el dialog se abre para todos los elementos. El problema que tengo ahora es que solo se abren al segundo click. Es decir, pincho una vez en una foto y no pasa nada. Pincho una segunda vez en la misma foto y se abre el dialog. Las siguientes veces se abre siempre. Si ahora pincho en otra foto, pero es la primera vez que pincho en ella, el dialog no se abre. Al segundo y sucesivos, siempre se abre.

Os dejo el código (otra vez):

Javascript/jQuery:

Código:
function popup(v)
        {
                        var d = "d" + v;
			var c = "#close" + v;
			var di = "#show" + v;
            
			var dialog = document.getElementById(d);
			var clos = document.getElementById(c);

		  document.querySelector(di).onclick = function() {
			  dialog.showModal();
		  };

		  document.querySelector(c).onclick = function() {
			  dialog.close();
		  };
            }
El php:

Código PHP:
<div id="show1" onclick="popup(1)">
<img src="imagenes/jugadores/<?php echo $row1["nombre"]; ?>.png" alt="<?php echo $row1["nombre"]; ?>" title="<?php echo $row1["nombre"]; ?>" width="50" height="50"><br>
                    <div>
                    <span class="cajaNombre">
                    <?php echo $row1["nombre"]; ?></span>
                    <br>
                    <span class="cajaMail">
                    <?php echo $ro["mail"]; ?></span>
                    </div>
                    </div>
                    <dialog id="d1" class="myDialog">
                        <span id="close1" class="closeX">x</span>
                        <h3 class="headerDialog"><?php echo $row1["nombre"]; ?></h3>
                        <p style="background: black; color: white">Móvil: <?php echo $row["movil"]; ?><br>
                        Dirección: <?php echo $row["dirreccion"]; ?><br>
                        </p>
                        <br>
                    </dialog>
Alguna idea para que el Javascript salte al primer click y no solo a partir del siguiente?

Muchas gracias por anticipado.