Images aléatoires sans doublon en Javascript
Fermé
Slay
-
4 avril 2011 à 14:28
creadiff Messages postés 445 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 3 novembre 2011 - 5 avril 2011 à 22:07
creadiff Messages postés 445 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 3 novembre 2011 - 5 avril 2011 à 22:07
A voir également:
- Images aléatoires sans doublon en Javascript
- Telecharger javascript - Télécharger - Langages
- Supprimer doublon excel - Guide
- Des images - Guide
- Ce document contient 4 images. lesquelles perdent en qualité quand on les agrandit ? ✓ - Forum Graphisme
- Tirage au sort excel aléatoire sans doublon ✓ - Forum Excel
7 réponses
creadiff
Messages postés
445
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
3 novembre 2011
57
5 avril 2011 à 02:39
5 avril 2011 à 02:39
Voilà ! Et sans doublons s'il vous plaît. J'ai pas testé, mais ça devrait fonctionner.
<style type="text/css"> .photos {border:solid 2px #888} </style> <div id="photos"></div> <script type="text/javascript"> var nbPhotosSurServeur = 9; var nbPhotosAffichees = 5; var photosDejaAffichees = {}; var html = ''; for(var i=0 ; i<nbPhotosAffichees ; i++){ var numPhoto; do{ numphoto=Math.ceil(nbPhotosSurServeur*Math.random()) } while (photosDejaAffichees[numphoto]); html += '<img src="images/poupees/face' + numphoto + '.jpg" />'; } document.getElementById('photos').innerHTML = html; </script>
Merci beaucoup de ta réponse mais en fait, je n'arrive pas à l'appliquer à mon code..
J'ai mis la partie script dans le header et le reste dans la partie body, en remettant la même chose dans la div "photos".
Que dois-je faire d'autre?
Encore merci=
J'ai mis la partie script dans le header et le reste dans la partie body, en remettant la même chose dans la div "photos".
Que dois-je faire d'autre?
Encore merci=
creadiff
Messages postés
445
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
3 novembre 2011
57
5 avril 2011 à 21:42
5 avril 2011 à 21:42
Il faut l'écrire dans l'ordre indiqué... si le <script> est placé dans le <header>, il y aura une erreur : en effet, la page étant parsée de façon linéaire, il n'y aura pas encore de div ayant pour id "photos" au moment de l'exécution du script.
Il faut soit mettre le script après le <div>, soit mettre le code dans un
Il faut soit mettre le script après le <div>, soit mettre le code dans un
window.onload = function(){ [code à exécuter] }
Super! ça marche comme ça effectivement ^^
Maintenant ma question c'est: comment je fais pour avoir un style différent pour chaque image?
(comme dans mon code html de base)
Encore merci de tes réponses!
Maintenant ma question c'est: comment je fais pour avoir un style différent pour chaque image?
(comme dans mon code html de base)
Encore merci de tes réponses!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
creadiff
Messages postés
445
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
3 novembre 2011
57
5 avril 2011 à 21:53
5 avril 2011 à 21:53
Euh... pourquoi ? Pour gérer les portrait/paysage par exemple ?
Je voudrais que les images soient de 3 tailles différentes en fait: petite, moyenne, grande, moyenne, petite
creadiff
Messages postés
445
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
3 novembre 2011
57
5 avril 2011 à 22:07
5 avril 2011 à 22:07
Alors là, pas d'idée...
A moins de renseigner une liste d'images au départ, du style :
On pourrait ensuite utiliser les nombres aléatoires générés dans la boucle for(){} pour parcourir ce tableau, et affecter les attributs src, width et height qui conviennent à l'img concernée.
A moins de renseigner une liste d'images au départ, du style :
var photos = [ ['url de la premiere image', 320, 240], ['url de la deuxième image', 240, 480], ['url de la troisième image', 320, 240] ];
On pourrait ensuite utiliser les nombres aléatoires générés dans la boucle for(){} pour parcourir ce tableau, et affecter les attributs src, width et height qui conviennent à l'img concernée.