11548 sujets

JavaScript, DOM et API Web HTML5

Bon j'ai regardé mon problème un peu plus longtemps et le probleme semble etre
document.getElementById('css_style').setAttribute('href',feuilleStyle{no}) 

Opera7 et IE n'ont pas de probleme avec ca mais Firefox me dit Erreur : document.getElementById("css_style") has no properties Smiley confus

a noter que jai mis des {} dans mon code pour remplacer les crochets qui entraient en conflit avec le forum
Modifié par LilJim (12 Mar 2005 - 23:24)
déjà ce que je peux te dire est que faire un menu en Javascript n'est pas vraiment fait pour l'accessibilité. Par exemple, désactive Javascript sous IE et essaye d'utiliser ton site dessus Smiley lol
a écrit :
document.getElementById("css_style") has no properties


Cette erreur signifit que FF n'a pas trouvé d'élément avec l'identifiant "css_style" au moment ou il a executé le code JS

C'est une erreur très courante si l'on exécute le JS avant le chargement complet de la page Smiley cligne
Ah oui... encore un petit détail l'hebergement chez multimani pause de nombreux problèmes

1 - Il y a beaucoup de risque de conflit Javascript a cause des script rajouté auromatiquement par l'hebergeur !

2 - Pour la même raison, il est impossible de faire du XHTML valide.
Tu pourrais simplement lancer l'execution de tes scripts sur l'evènement window.onload.

Par exemple :


window.onload = function {
 // tes appels de fonctions
}
... le problème semble réglé, j'me suis pas servi de window.onload, j'ai réimaginé la façon de le faire et ca marche Smiley biggol
Est-ce qu'on pourrais avoir la méthode, ça pourrais en interresser d'autre Smiley cligne

Si ton problèmle est résolu, n'oublie pas de mettre un tag Smiley resolu devant le titre de ton POST Smiley smile
ben au début je faisais disparaitre mes divisions en appliquant des feuilles de styles différentes et c'étais "buggeux". Je me suis rendu compte qu'on peut le faire directement en JavaScript Smiley langue

<a href="#" onclick="Effacer_Contenu();document.getElementById('Contenu_Accueil').style.display='block';return false">Accueil</a>



//Fonction rends invisible les divisions de ma page
function Effacer_Contenu()
{
    var nodeListContenu = document.getElementsByTagName('div')
	for (i=0;i<nodeListContenu.length;i++) 
	{
		var tmp_id = nodeListContenu.item(i).attributes.getNamedItem('id').nodeValue
		var tmp_element = document.getElementById(tmp_id)
		
		/*if(tmp_element.getAttribute('class')=='Contenu')				Serait la bonne facon de procéder mais
																		IE n'est pas de mon avis... :-p*/	
		if(tmp_element.getAttribute('id').substring(0,8).toLowerCase()=='contenu_')
		{
			tmp_element.style.display='none'
		}
    }
}


si j'suis pas assez clair http://www.multimania.com/powerjim
Modifié par LilJim (16 Mar 2005 - 15:55)