11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Voici mon code javascript (permet de cacher et d'afficher un div quand on clique dessus)


<script type="text/javascript">
function blockDisplay(Ident, Count, Total){
	//Parcours tous les div.
	for(i=1;i<=Total;i++){
		var divBlock = eval(Ident + i);
		//Quand on trouve le bon...
		if(i == Count){
			//On teste si le div est deja affiché.
			if(divBlock.style.display == 'block'){//Deja affiché.
				divBlock.style.display = 'none';//On le cache a nouveau
			}else{//Pas affiché.
				divBlock.style.display = 'block';//On l'affiche
			}
		}else{//C'est pas le bon span a affiché.
			divBlock.style.display = 'none';//On le cache.
		}
	}
	
	window.focus();
	
	return false;
}
</script>


Voici le code xhtml correspondant


<h2><a href=\"\" onclick=\"return blockDisplay('Ref_', 1, 1)\">Mon e-Portfolio</a></h2>
<div id=\"Ref_1\">
<h3>Secteur d'activit&eacute;: Cr&eacute;ation de sites Web.</h3>
<h4><a href=\"http://www.deoliveira.4alltheweb.net\" title=\"Visitez mon site Internet\">http://www.deoliveira.4alltheweb.net</a></h4>
<p>J'ai cr&eacute;&eacute; mon site dans le but de me faire conna&icirc;tre et de proposer mes services dans le domaine du Web. Je travaille en collaboration avec <b>J&eacute;r&ocirc;me Nicaise</b> qui est lui aussi dans le domaine de l'Internet.</p>
</div>


Sous ie le code marche bien c'est a dire que lorsque je clique sur le <a></a> du <h2> il affiche bien le bloc ref_1 mais sous firefox sa ne marche pas!

Je ne comprend pas d'ou vient l'erreur.

Merci
Modifié par ashesheart (17 May 2007 - 00:43)
ashesheart a écrit :
Merci pour ceux qui ont pris le temps de chercher mais j'ai résolu mon problème (au bout d'une semaine quand même).


Ca serais bien de laisser une trace de ta trouvaille...ca pourrai servir à quelqu'un Smiley cligne
Modérateur
Salut,

ben laissons une trace... Smiley ravi

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

		<title>Exemple</title>

		<style type="text/css"><!--


@media screen, projection
{
	.hidden
	{
		display: none;
	}
}


		--></style>
		<script type="text/javascript"><!--


(function() {

var oO =
{
	connect: function(oElem, sEvType, fn, bCapture)
	{
		return document.addEventListener ?
			oElem.addEventListener(sEvType, fn, bCapture):
			oElem.attachEvent ?
				oElem.attachEvent('on' + sEvType, fn):
				false;
	},

	cancelClick: function(e)
	{
		if(e && e.stopPropagation && e.preventDefault)
		{
			e.stopPropagation();
			e.preventDefault();
		}
		else if(e && window.event)
		{
			window.event.cancelBubble = true;
			window.event.returnValue = false;
		}

		return false;
	},

	init: function()
	{
		var oCtrl = document.getElementsByTagName('h2')[0],
		    oTxt = oCtrl.lastChild,
		    oDiv = document.getElementById('Ref_1');

		oCtrl.innerHTML = '<a href="#">' + oTxt.nodeValue + '</a>';

		oDiv.className = 'hidden';

		oO.connect(
			oCtrl.firstChild,
			'click',
			function(e)
			{
				oO.display(oDiv);
				return oO.cancelClick(e);
			},
			false
		);

		return true;
	},

	display: function(oEl)
	{
		return oEl.className = (oEl.className === 'hidden') ?
			'':
			'hidden';
	}
};

oO.connect(window, 'load', oO.init, false);

})();


		//--></script>
	</head>
	<body>


<h2>Mon e-Portfolio</h2>

<div id="Ref_1">
	<h3>Secteur d'activité : Création de sites Web.</h3>

	<h4>
		<a href="http://www.deoliveira.4alltheweb.net" title="Visitez mon site Internet">
			 http://www.deoliveira.4alltheweb.net
 
		</a>
	</h4>

	<p>
		J'ai créé mon site dans le but de me faire connaître et de proposer mes services dans le domaine du Web. Je travaille en collaboration avec
		<b>Jérôme Nicaise</b>
		qui est lui aussi dans le domaine de l'Internet.
	</p>
</div>


	</body>
</html>