11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je souhaiterais faire apparaître 10 div et ce, l'un à la suite de l'autre.

Facile :


// JQuery
$('#box1').css({display: "block"}).fadeIn(300, function () {
	$('#box2').css({display: "block"}).fadeIn(300, function () {
		$('#box3').css({display: "block"}).fadeIn(300);
	});
});


Et ce ainsi de suite jusqu'au 10ème. Mais n'y a t'il pas un moyen plus propre ? Car si j'avais 30 box, ça devient galère Smiley biggol

J'ai essayé en faisant un loop (en utilisant la fonction each()), mais il me fait mon fadeIn sur toutes les box en même temps. Et non une par une.

Auriez vous des pistes pour éclairer un débutant ? Smiley ravi
Merci !
Modifié par tomasz (26 Jun 2007 - 13:41)
Essaie peut-etre comme ca :

$("div").filter("[@id^=box]").css({display: "block"}).fadeIn(300);

La il devrait prendre toute les divs dont le nom commence par "box"
Krafton a écrit :
Essaie peut-etre comme ca :

$("div").filter("[@id^=box]").css({display: "block"}).fadeIn(300);

La il devrait prendre toute les divs dont le nom commence par "box"


Bonjour,

J'y avais pensé, mais ça ne marche pas non plus. Il me fait le fadeIn sur toute les box en même temps Smiley sweatdrop
Merci quand même Smiley smile
yO,

et un truc dans le genre :



function plop(indice) {
	$('#box'+indice).css({display: "block"}).fadeIn(300,function(){
		if (indice < 10) {
			plop(++indice);
		}
	});
}

plop(1);
Thanh a écrit :
yO,

et un truc dans le genre :



function plop(indice) {
	$('#box'+indice).css({display: "block"}).fadeIn(300,function(){
		if (indice < 10) {
			plop(++indice);
		}
	});
}

plop(1);



C'est juste ce qu'il me fallait Thanh !
Merci beaucoup Smiley biggrin