11522 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je planche actuellement sur un affichage de news via POPUP comme expliqué dans le tuto sur le POPUP accessible
Voir ici

J'ai une boucle PHP qui m'affiche les liens de mes news avec une URL de ce type:
http://localhost/Evidence3/index.php?id=1&#pop1

Mon problème est lorsque je clique sur le lien, c'est uniquement la derniere news affichée qui apparait dans le popup et cela quelque soit le lien.

le problème est que la page ne se rafraichi pas et que le script js ne le permet pas.
j'ai mes différent liens qui affiche dans la barre d'état ceci
http://localhost/Evidence3/index.php?id=3&#pop1
http://localhost/Evidence3/index.php?id=2&#pop1
http://localhost/Evidence3/index.php?id=1&#pop1

et quelque soit le lien sur lequel je clique c'est toujours la même news.
et lorsque je reclique sur le lien pour la deuxième fois, le popup est éffacé.

J'aimerais vraiment éviter les popup classique qui s'ouvrent dans une nouvelle fenêtre mais mes compétences en JS ne me permettent pas de m'en sortir (je suis vraiment naze en JS) alors je me tourne vers vous.

je remets le code JS:



function pop()
{
    var myAs = document.getElementsByTagName('a');
    for (var a = 0; a < myAs.length; ++a) {
	// Si le lien a une classe de type pop
        if (myAs[a].className == 'pop') {
	// on extrait l'id de la popup à partir du href
            var pop = document.getElementById(myAs[a].href.substring(myAs[a].href.lastIndexOf('#') + 1));
	// si la popup existe on l'affiche (display block)
            if (pop) {       
                pop.style.display = 'none';
                myAs[a].onclick = function() {
                    thisPopup = document.getElementById(this.href.substring(this.href.lastIndexOf('#') + 1))
                    thisPopup.style.display = (thisPopup.style.display == 'none') ? 'block' : 'none';
                    return false;
                };
		// on efface la popup en cliquant dessus
                pop.onclick = function()
                {
                    this.style.display = 'none';
                };
            }
        }
    }
}
 
window.onload = pop;


je pense que c'est à ce niveau que ça se joue car on récupère que ce q'il y a après # non?
thisPopup = document.getElementById(this.href.substring(this.href.lastIndexOf('#') + 1))
Administrateur
Bonjour,

http://localhost/ correspond à TON ordinateur et je n'y ai pas accès depuis Internet Smiley cligne (le contraire serait inquiétant Smiley ravi )

Pourrais-tu l'héberger sur un serveur web en ligne si tu veux que tout le monde y accède?

Felipe
Felipe a écrit :
Bonjour,

http://localhost/ correspond à TON ordinateur et je n'y ai pas accès depuis Internet Smiley cligne (le contraire serait inquiétant Smiley ravi )

Pourrais-tu l'héberger sur un serveur web en ligne si tu veux que tout le monde y accède?

Felipe


ok je fais ça demain et je te fais signe.
Maintenant si vous allez sur la page, tout fonctionne bien sauf lorsque je charge ma page il m'affiche un cadre sans rien, il faudrait que la propriété display soit à none au chargement de la page.
Je pensais pouvoir m'en sortir mais je galère trop,
vous n'avez pas une petite idée pour que lorsque la page index saffiche sans variable, je n'aie pas cette box sans rien qui s'affiche automatiquement?
Merci d'avance.
Je viens de me mettre aux CSS et je rencontre le même problème que toi au niveau des news.
Qd je clic sur le lien, la page ne se raffraichit pas et je ne change pas de news malgré le fait que ds l'url l'id de la news change....

Apparemment tu a réussi à régler le pb, comment tu as fait?
merci