Bonjour,

Pour les besoins du blog dont je m'occupe, je cherche � afficher ou masquer le contenu des commentaires � la demande, par un clic sur une image.

J'ajoute cette image via javaScript ; ainsi, si celui-ci est d�sactiv�, le visiteur ne verra pas d'image inutile (impossible � cliquer).

Le r�sultat est visible sur cette page.

Voici le code javaScript que j'utilise :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$(document).ready( function () {
	document.documentElement.className += ' js';
	$("#lastcomments > li").image(
		"http://sxjpl.free.fr/dotclear-files/themes/biblio/img/plus.png",
		function () {
			$(this).click( function () {
				$(this).nextAll(".toggle").first().toggle("slow");
				if ($(this).hasClass('expand')) {
					$(this).removeClass('expand');
					$(this).alt="masquer le commentaire";
					$(this).attr("src", "http://sxjpl.free.fr/dotclear-files/themes/biblio/img/plus.png");
				} else {
					$(this).addClass('expand');
					$(this).alt="devoiler le commentaire";
					$(this).attr("src", "http://sxjpl.free.fr/dotclear-files/themes/biblio/img/minus.png");
				}
			});
		}
	);
});
 
$.fn.image = function (src, f) {
	return this.each(function () {
		$("<img />").appendTo(this).each( function () {
			this.src = src;
			this.onload = f;
		});
	});
}
J'ai deux probl�mes avec ce code :
1. il faut cliquer DEUX fois au lieu d'une sur l'image "plus" pour qu'elle se change en "moins", et inversement !
2. Le contenu du commentaire n'est pas affich� quand on clique. Il y a donc un probl�me avec le $(this).nextAll(".toggle"), qui ne pointe pas correctement vers le contenu du commentaire. J'ai essay� $(this).parent().nextAll(".toggle") sans plus de succ�s, et je suis � court d'id�es !

Toute aide serait grandement appr�ci�e. Un grand merci d'avance !