Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2692 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  affichage images aléatoirement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

affichage images aléatoirement

n°2273431
joyk
Posté le 14-01-2016 à 19:36:05  profilanswer
 

Salut,
j'ai crée un simple tableau en html et dans chaque case du tableau je voudrais mettre une photo. J'aimerai qu'à chaque affichage de la page les photos s'affichent dans un ordre aléatoire. J'ai trouvé un code java script qui permet d'afficher des images aléatoirement en piochant dans un dossier contenant toutes les images, ça fonctionne mais de cette manière il y a souvent des doublons dans les photos affichées.
Quelqu'un aurait il un code qui permettrait d'afficher toutes mes photos de manière aléatoire et sans doublon ?

mood
Publicité
Posté le 14-01-2016 à 19:36:05  profilanswer
 

n°2273759
OrcusZ
Pro AMD | .Net lover
Posté le 19-01-2016 à 10:02:58  profilanswer
 

Salut,

 

Il suffit de gérer un second tableau d'exclusion pour sauvegarder les images et de les supprimer du premier tableau :

 
Code :
  1. function randomImage(array, exclusion){
  2.   var arrayLength = array.length;
  3.   var index = Math.floor((Math.random() * arrayLength) + 0);
  4. var image;
  5. //on check que la valeur n'exhiste pas dans l'exclusion
  6.   if(array[index].indexOf(exclusion) < 0 || exclusion.length === 0){
  7.     //on ajoute l'image dans le tableau d'exclusion
  8.     exclusion.push(array[index]);
  9.    
  10.     //on stocke l'image
  11.     image = array[index];
  12.    
  13.     /* on le supprime pour éviter les doublons et de rentrer en stackoverflow a cause de la récurrence de la méthode */
  14.     array.splice(index,1);
  15.     return image
  16.   } else{
  17.     randomImage(array, exclusion);
  18.   }
  19. }
  20. var array = ["img1", "img2", "img3", "img4"];
  21. var exclusion = [];
  22. while(array.length !== 0){
  23. var imageToDisplay = randomImage(array,exclusion);
  24.   console.log(imageToDisplay);
  25. }
 

Voilà, tu pourra afficher tes images uniquement une fois ( il faudra que tu adapte un petit peu le code mais la logique est là )

 

le lien JSFiddle : https://jsfiddle.net/z6kdfryb/2/

 


Message édité par OrcusZ le 19-01-2016 à 10:04:01

---------------
Made you your own sentence without believing that of the others...
n°2273783
joyk
Posté le 19-01-2016 à 16:33:05  profilanswer
 

Merci pour ton aide mais je ne comprends pas bien, comment on fait ensuite pour afficher les photos ? on peut toujours utiliser la balise <img src=...> ?

n°2273803
OrcusZ
Pro AMD | .Net lover
Posté le 19-01-2016 à 20:08:42  profilanswer
 

Salut,
 
A la place du console log tu devra mettre du code javascript/jquery qui te permettra d'afficher les images ( function append ).
 
Si tu n'en a jamais fait, je te conseille de suivre un tutoriel car sinon tu sera vite limité pour faire ce genre d'effet :)
 
Bon courage


---------------
Made you your own sentence without believing that of the others...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  affichage images aléatoirement

 

Sujets relatifs
Affichage flux video RTSP Firefox[C] Problème d'affichage dans le résultat de ma fonction C
WPF Affichage dynamique imageRésultat d'une requête différent entre phpmyadmin et l'affichage
Probleme d'affichage de mes enregistrementsInsérer des images avec légende dans word 2010
[MFC] [RESOLU] Affichage message avant fermeture d une fenetreComment programmer un tirage d'images au hasard ?
Images webcamaffichage tableaux apres choix select dynamique
Plus de sujets relatifs à : affichage images aléatoirement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR