Optimisation ...

Signaler
Messages postés
514
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009
-
Messages postés
514
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009
-
Voilà, j'ai ce p'tit bout de code ...
			function getObjectById() {
if (getObjectById < 1) {return false;}
object = window.document.getElementById(getObjectById.arguments[0]);
if (object == null) {
return false
}
else {
return object;
}
}
function set_title() {
var id_object = new Array();
id_object.push('movement');
id_object.push('attack');
var i = 0;
//				while (i < id_object.length) {
getObjectById(id_object[0] + '_title').onclick = function() {
object = getObjectById(id_object[0] + '_content');
if (object.style.display == 'none') {
object.style.display = 'block';
}
else {
object.style.display = 'none';
}
}
getObjectById(id_object[1] + '_title').onclick = function() {
object = getObjectById(id_object[1] + '_content');
if (object.style.display == 'none') {
object.style.display = 'block';
}
else {
object.style.display = 'none';
}
}
//				i++;
//				}
}
</script>

Je sais c pas pas pratique de mettre ça dans le forum mais bon ...
Je cherche en fait à optimiser le code en évitant à chaque fois la copie de la partie qui gère l'evènement onclick de chaque objet présent dans l'array ... C'est chaud à expliquer, mais il suffit de regarder 30 sec pour comprendre ce que je veux dire ... ça fait plus de 2 heures que je cherche et là j'abandonne. S'il vous plait aidez moi !
LocalStone :big)

2 réponses

Messages postés
101
Date d'inscription
vendredi 30 août 2002
Statut
Membre
Dernière intervention
5 novembre 2004

Je n'est pas eu le temps de tester
j'espere que c'est ce que tu voulais ;o)

var id_object = new Array()
id_object.push('movement')
id_object.push('attack')
function ObjectClick(index){
object = getObjectById(id_object[index] + '_content')
if (object.style.display == 'none') 
{object.style.display = 'block'}
else
{object.style.display = 'none'}
}
function set_title() {
for (i=0; i<id_object.length; i+){
getObjectById(id_object[0] + '_title').onclick = "ObjectClick("+i+")"
}
}


francktfr :)
Système D
VidéoFolies
Messages postés
514
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009

Merci d'avoir répondu !
Alors ça marche à moitié ... En fait tout ton code est parfait et fonctionne correctement, mais ... Mais en fait là :
function set_title() {
for (i=0; i<id_object.length; i++){
getObjectById(id_object[i] + '_title').onclick = "ObjectClick("+i+")"
} 

Y a un truc qui cloche ... En fait la fonction ObjectClick n'est pas lancée lorsque l'on clique ... Alors si tu as une idée ...
++
LocalStone :big)