Missing ] after element list (Javascript)

Fermé
samsam26 Messages postés 105 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 4 mars 2013 - 30 déc. 2010 à 19:07
samsam26 Messages postés 105 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 4 mars 2013 - 5 janv. 2011 à 12:13
Bonjour, à tous.
Je débug actuellement le javascript d'un site internet après l'insertion du DOCTYPE...
Bon alors le problème est dans le titre, il revient à plusieurs lignes:
agrandissement[rubriqueCell(obj)] = setTimeout("agg("+obj+", "+taillemax+")",1);
clearTimeout(agrandissement[rubriqueCell(obj)]);


Je réfléchis déjà depuis quelques heures, j'ai regardé sur des forums, mais aucune réponses bien concrète pour mon problème...

Le principe est en fait d'agrandir un div petit à petit au passage de la souris, et de le rétrécir lorsque la souris s'en va.

Il y a plusieurs div, c'est pourquoi j'utilise des tableaux de setTimeout (pour faire le clearTimeout correspondant).

rubriqueCell(obj) est une fonction qui marche, elle nous renvoie sous forme de chaine de caractère le nom de la rubrique du div courant.

Voici le javascript:
function agg(obj, taillemax){
	if(obj.offsetHeight < taillemax){
		obj.style.height = obj.offsetHeight + 10 + "px";
		aggrandir(obj, taillemax);
	}
}

function aggrandir(obj, taillemax){
	if(compteur==0){
		agrandissement[rubriqueCell(obj)] = setTimeout("agg("+obj+","+taillemax+")",1);
	}
	else{
		clearTimeout(retrecissement[rubriqueCell(obj)]);
		agrandissement[rubriqueCell(obj)] = setTimeout("agg("+obj+","+taillemax+")",1);
		compteur = 0;
	}
}


la fonction de retrecissement est la même mais dans l'autre sens, avec le parametre taillemax en moins (taillemin vaut toujours 20)

Voici le XHTML
<div style="overflow:hidden;height:20px;border:1px solid black;" onmouseover="aggrandir(this, 320);" onmouseout="retrecir(this);"><h2>Titre</h2>
CONTENU
</div>


Merci d'avance pour votre aide! =)





--
A voir également:

1 réponse

samsam26 Messages postés 105 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 4 mars 2013 6
5 janv. 2011 à 12:13
Up!
Je me suis rendu compte que c'est dans les paramètres du setTimeout:
setTimeout("aggrandir("+obj+","+taille+")", 1);
Apparement c'est le obj, étant un [HTML ...Element], il ne passe pas, puisque mon ancien code source fonctionnait lorsqu'il était substitué par une chaine de caractère.

Auriez vous déjà rencontré ce problème? Auriez vous une solution permettant de passer à coté?

Je vous remercie d'avance.
0