11550 sujets

JavaScript, DOM et API Web HTML5

Bonsoir,

J'ai un petit soucis coté javascript.
J'ai créé une fausse popup en javascript et lorsque je l'ouvre aucun problème, lorsque je la ferme même chose mais si je veux la réouvrir sans avoir actualiser la page et bien je me fais rediriger... je ne comprends absolument pas pourquoi.

page.html :

<a href="#" onclick="overlay('{texteQuete}');return(false);">{nomQuete}</a>


overlay.js :


var w3c=document.getElementById && !document.all;
var ie=document.all;

if (ie||w3c) {
 // déclaration des variables uniquement pour IE vive microsoft ?!!
 var overlay;
 var my_window;
}

function overlay(text){
	// creation de l'overlay et affichage de l'image
	montreoverlay();
	montrewindow(text);
}

function montreoverlay(text) {
  if (w3c||ie){
    overlay = document.all ? document.all["overlay"] : document.getElementById ? document.getElementById("overlay") : ""
    overlay.style.visibility = "visible"; // modification du style
  }
}

function montrewindow(text) {
	if (w3c||ie){
    overlay = document.all ? document.all["window"] : document.getElementById ? document.getElementById("window") : ""
	overlay.innerHTML = '<div id="questContainer"><img src="img/questTop.png" /><div id="quest">'+text+'<br/><br/><a href="#" onclick="cacher();return(false);">Fermer</a></div></div>'; // fixe le code HTML dans l'overlay balise (div)
    overlay.style.visibility = "visible"; // modification du style
  }
}

function cacher() {
	if (w3c||ie){
	// masque la fenetre (balise div [window] )
	my_window = document.getElementById('window');
	my_window.style.visibility = "hidden";

	// masque l'overlay (balise div [overlay])
	overlay = document.all ? document.all['overlay'] : document.getElementById ? document.getElementById('overlay') : ""
	overlay.style.visibility = "hidden";
	}
}


Un tout grand merci Smiley smile
Modifié par rels (17 Feb 2008 - 15:00)
salut;

tu n'as pas mis tout le code critique là?
en tout cas, il semble y avoir un problème dans ta sélection du source: les lignes de script sont coupées (?)

je ne comprends pas ce que tu fais du paramètre "text" dans tes fonctions?
je ne sais pas non plus à quoi te servent les variables w3c et ie, vu que n'importe quel navigateur grand public comprend le dom niveau 1 depuis 4 ou 5 ans!
Bonjour,

J'ai mis le code de la partie gérant ceci.
J'avoue que le paramètre text dans montreoverlay() ne sert à rien (c'est dû à mes modifications) mais dans les autres il sert...
Pour tout le code c'est là mais c'est pas toujours facile de se glisser dans celui des autres Smiley lol
http://www.oldaryon.net/exemple.html

Merci pour ton aide Smiley biggrin

P.S. : SI t'as des ? pour certains caractère c'est parce que j'ai fais un copier/coller du code HTML alors qu'il est (mb_http_output('UTF-8'); dans les pages dynamiques)
Modifié par rels (16 Feb 2008 - 12:32)
J'ai un peu modifier mon code JS en le résumant au minimum mais j'ai toujours le même problème Smiley bawling

Merci !
Solution trouvée, c'est à cause du nom de la fonction (OVERLAY) je sais pas pourquoi mais le nom pose problème donc je l'ai renommée

Merci