11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Voice un petit code javascript qui ne fonctionne pas. En effet aucune class apparait lors d'un click sur un <a> Smiley ohwell
La page qui va avec est: http://m.iwebkit.net

function addListener(o, e, f) { // object, event, function
	if (o.addEventListener) {
		o.addEventListener(e, f, false);
	} else { // pour MSIE
		o.attachEvent('on' + e, f);
	}
}

/******************************************************************************/

function changeClass1() {
	document.getElementById('content').className='slidedone';
	document.getElementById('footer').className='slidedone';
	document.getElementById('list').className='slidedone';
}

function changeClass2() {
	document.getElementById('content').className='slidedone2'­;
	document.getElementById('footer').className='slidedone2';­
	document.getElementById('list').className='slidedone2';
}

// il faudra peut-être rajouter d'autres fonctions changeClassN

/******************************************************************************/

function bindAnchors() { // fonction pour lier les liens à la fonction changeClass
	var collection1 = document.getElementById('topmenu').getElementsByTagName('a')­­;
	var collection2 = document.getElementById('content').getElementsByTagName('a')­;
	var collection3 = document.getElementById('toprightmenu').getElementsByTagName­('a')­;
	var collection4 = document.getElementById('toprightbutton').getElementsByTagNa­me('a')­;

	for (var i = 0; i <= collection1.length - 1; i++) {
		var lien = collection1.item(i);
		addListener(lien, 'click', changeClass2);
	}

	for (var i = 0; i <= collection2.length - 1; i++) {
		var lien = collection2.item(i);
		addListener(lien, 'click', changeClass1);
	} 

	for (var i = 0; i <= collection3.length - 1; i++) {
		var lien = collection3.item(i);
		addListener(lien, 'click', changeClass1); // vérifier que c'est bien changeClass1 qu doit être appelée ici
	}

	for (var i = 0; i <= collection4.length - 1; i++) {
		var lien = collection4.item(i);
		addListener(lien, 'click', changeClass1); // idem
	}
}

/******************************************************************************/

// on lie les liens une fois que la page est chargée, sinon ils n'existent pas encore
// et on le fait avec addListener, pour que ça marche même sous IE
addListener(window, 'load', bindAnchors);


Merci pour toute aide Smiley smile
Modifié par winterboard (09 Oct 2008 - 20:38)