Bonjour, j'essaie de faire un système qui affiche plusieurs box, qui au clic s'agrandissent pour afficher une autre box plus grande avec un autre contenu. Jusque-là tout va bien.
Mais là où je bloque c'est pour fermer la box ouverte quand j'en ouvre une autre. Je ne sais pas si ce code est correct, s'il y a quelques bugs, ou s'il est à remanier complètement.

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
 
function display(action, id) {
 
    if (action == 'show') {
		$("#big" + id).css({ width:"10px"}).css( { height:"10px"}).css({opacity:0.7});
		$("#big" + id).animate( { height:"560px"}, 500 ).animate( { width:"605px"}, 1000 ).animate({opacity:1}, 300);
	 	$("#box" + id).css('display', 'none');
        $("#big" + id).css('display', 'block');
		$("#big" + id).css('display', 'block');
		$("body").children().not("#big" + id).css('display', 'none');
 
	}
    if (action == 'hide') {
		$("#big" + id).animate( { height:"1px"}, 200 ).animate( { width:"1px"}, 200 ).animate({opacity:0}, 200);
        $("#box" + id).css('display', 'block');
        $("#big" + id).css('display', 'none');
    }
 
}
Je pense que c'est cette ligne qui me pose problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$("body").children().not("#big" + id).css('display', 'none');
Peut-être que quelqu'un aurait aussi un début de piste pour le second problème qui se pose, à savoir que la page est assez longue au chargement, car dans chaque box une fois cliquée, se trouve un diaporama et du coup j'ai l'impression qu'ils se chargent tous à l'ouverture de la page. Mais peut-être que là ca devient de l'ajax et que je ne suis pas au bon endroit pour poster (ou peut-être que je n'ai rien compris et qu'on le peut le faire en JS )

j'ai tenté des trucs comme remove() etc. mais rien de concluant…

Merci !