affichage des elements aleatoire
Salut a tous,
Je suis entrain de créer une animation avec javascript.
J'ai 5 éléments (div) et je veux afficher que 3 éléments aléatoire par chaque interval;
j'ai réussi dans cette etape.
Maintenant je veux dans chaque interval, prend l'un des deux (div) et remplacer l'un des 3 éléments.
exemple :
-1er foit -> afficher les 3 éléments(x,y,z) et cacher les deux(a,b) .
-2eme foit -> afficher les 3 éléments(x,y,a) et cacher les deux(z,b) c'est a dir remplacer (a par z) aléatoire.
-3eme foit -> afficher les 3 éléments(x,z,a) et cacher les deux(y,b) c'est a dir remplacer (y par z) aléatoire.
-4eme foit -> afficher les 3 éléments(b,z,a) et cacher les deux(y,x) c'est a dir remplacer (x par b) aléatoire.
tous ces position sont aleatoire.
voila mon code :
Code:
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 30 31 32 33 34 35 36 37 38
|
function alia(){
function isInArray(val, arr){
for(var i = 0; i < arr.length; i++){
if(arr[i] == val) return true;
}
return false;
}
var divs = ['#slider1','#slider2','#slider3','#slider4','#slider5'],
toCach = 2,//cacher deux elements
shown = [];//afficher le reste
while(toCach > 0){
var randItem = '';
while(isInArray(randItem, shown) || randItem === ''){
randItem = divs[Math.floor(Math.random() * divs.length)];
}
var tin = shown[shown.length] = randItem;
toCach--;
//alert(tin);
$(tin).show(function(){
$(tin).fadeIn(500);//afficher les element aleatoire
// alert(this)
$(this).fadeOut(500);//cacher deux elements (toCach)
// alert($(tin,tin))
});
}
}
// alert(shown[0]);
// alert(shown[1]);
// alert(shown[2]);
setInterval(function(){ alia(); },4000); |