all HTML

Accèdez à votre compte : 

Créer un compte …

Perte de mot de passe …

  • Accueil
  • Forum de discussions
  • Publications
  • Communauté
  • Nous contacter

Poser une nouvelle question

Sélection des sujets

  • Toutes les discussions
  • Questions sans réponse
  • par langage de programmation :
    html css javascript php sql asp xml java C# action script
  • par thématique :
    animation - motion design graphisme - webdesign audio - vidéo accessibilité droit - législation web apps - logiciels référencement - seo hébergement administration serveur site web e-commerce

tirage aléatoire

Sujet publié le 25/07/2004 par ericoprod et classé dans javascript

bonjour à tous
voilà avec 22 cartes (22 images) je souhaite faire 1 tirage aléatoire de 4 cartes ki renvoie sur des pages html avec explication de ces cartes
je suppose ke c'est 1 fonction du style math random
mais je n'y arrive pas
kelkun a t-il une idée sur le genre de script
merci

par ericoprod, 25/07/2004 à 13h38
ericoprod

répondre

salut,

effectivement ...

- definir une variable correspondant au nombre d'images.(var nbimage = 22;)
- definir un "new Array()" pour le N° de l'image.(numimg)
- definir la "function" .

- definir une variable (idx par exemple) et la boucler 4 fois (pour obtenir 4 images).
- N° de l'image : effectuer un Math.round(Math.random()*(nbimage-1)+1);

- definir une variable ( j ) et boucler sur idx pour comparer les resultats : if (numimg[idx] == numimg[j]) .
- si N° identiques on effectue un nouveau Math.round( etc) et on decremente la variable j de -1. (fin 2eme boucle)
- (fin 1ere boucle)
- sinon on attribue les valeurs aux images : numimg[0] pour la 1ere , numimg[1] pour la 2eme , etc ... idem pour les href.

pour plus de simplicité , on appellera les images de 1.jpg à 22.jpg (ou photo1.jpg à photo22.jpg) et les pages de 1.htm à 22.htm (ou page1.htm à page22.htm).

- appeler la "function" sur le onLoad de la page.

j'espere avoir été suffisamment clair , et ne pas avoir fait d'erreurs.

++

L.

par leris, 25/07/2004 à 22h24
ben mon colon ... pas glop !

bonjour je n'ai pas eu le temps de te répondre avant
ouai, c'est clair ce ke tu dis le blème c'est qu'en javascript je commence juste
je suppose ke toutes ces fonctions je les fais avec flash
si à 1 moment tu as un peu de temps pour expliciter tout cela
ce serait avec plaisir ke je te lirai
par exemple pour démarrer mes cartes seront non visible c.a.d 22 dos de cartes
faut-il qu'ils soient différenciés, les dos, parceque à mon avis ce n'est pas ça ki va compter
tu vois le genre de questions de départ que je me pose
en gros c'est pas gagné
je te remercie
tiens je n'ai pas encore mis mon site le volà :
http://e.bardiau.free.fr/
A + tard

par ericoprod, 26/07/2004 à 19h05
ericoprod

re,

>>"je suppose ke toutes ces fonctions je les fais avec flash"

pas du tout ! forum javascript donc réponse javascript ...

un javascript qui va : "faire 1 tirage aléatoire de 4 cartes ki renvoie sur des pages html" (sur 22 images.)

>>"par exemple pour démarrer mes cartes seront non visible c.a.d 22 dos de cartes" , cela n'est pas prevu non plus , vu que ce n'etait pas précisé .

++

L.

par leris, 26/07/2004 à 19h17
ben mon colon ... pas glop !

ok réponse javascript
tu veux dire ke je monte tout le code (avec les acolades et touti quanti)
et c'est la ke j'ai 1 blème car j'arrive 1 peu à capter ce ki ce passe dans 1 code mais pour l'instant l'écrire c'est 1 autre histoire
alors kan j'en vois je les décortique déjà pour comprendre
je te l'ai dis je démarre
merci de ta réponse

par ericoprod, 26/07/2004 à 19h26
ericoprod

ok,

je te le poste sous peu .

++

L.

par leris, 26/07/2004 à 20h02
ben mon colon ... pas glop !

ok merci beaucoup

par ericoprod, 26/07/2004 à 21h23
ericoprod

re,

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Page Web</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<STYLE type=text/css>
BODY{
text-align:center; color: blue; FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica; text-decoration:none;background-color: aliceblue;margin:0px;
}
#cont{
width:450px; border:1px solid blue; margin-left:auto; margin-right:auto;
}
.img{
width:100px; height:70px; margin-left:10px; border:0px;
}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">

*/
Les images sont nommées de 1.jpg à 22.jpg , elles sont placées dans le sous-repertoire "photos".
les liens renvoient sur une page "blank" qui affiche les images en taille réelle.
Pour afficher une page.htm placée dans le sous-dossier pages : href = 'pages/'+ numimg[0] +'.htm';
Ici ce sont les mêmes images qui servent en onglets et taille réelle.
*/

var nbimage= 22;
numimg = new Array()
function look()
{
for (var idx = 0; idx < 4; idx++)
{
numimg[idx]= Math.round(Math.random()*(nbimage-1)+1);
for (var j = 0; j < idx; j++)
{
if (numimg[idx] == numimg[j]) // test identique
{
numimg[idx]= Math.round(Math.random()*(nbimage-1)+1);
j = -1;
}
}
}
if (document.all) // I.E (ancien , récent)
{
document.all('mypic1').src = 'photos/'+ numimg[0] +'.jpg'; // onglet
document.all('pge1').href = 'photos/'+ numimg[0] +'.jpg'; // page avec image grandeur réelle.
document.all('scr1').innerHTML = numimg[0]; // affiche le N° de la photo.
document.all('mypic2').src = 'photos/'+ numimg[1] +'.jpg';
document.all('pge2').href = 'photos/'+ numimg[1] +'.jpg';
document.all('scr2').innerHTML = numimg[1];
document.all('mypic3').src = 'photos/'+ numimg[2] +'.jpg';
document.all('pge3').href = 'photos/'+ numimg[2] +'.jpg';
document.all('scr3').innerHTML = numimg[2];
document.all('mypic4').src = 'photos/'+ numimg[3] +'.jpg';
document.all('pge4').href = 'photos/'+ numimg[3] +'.jpg';
document.all('scr4').innerHTML = numimg[3];
}
else if (document.getElementById) // I.E récent , netscape , mozilla.
{
document.getElementById('mypic1').src= 'photos/'+ numimg[0] +'.jpg';
document.getElementById('pge1').href= 'photos/'+ numimg[0] +'.jpg';
document.getElementById('scr1').innerHTML = numimg[0];
document.getElementById('mypic2').src= 'photos/'+ numimg[1] +'.jpg';
document.getElementById('pge2').href= 'photos/'+ numimg[1] +'.jpg';
document.getElementById('scr2').innerHTML = numimg[1];
document.getElementById('mypic3').src= 'photos/'+ numimg[2] +'.jpg';
document.getElementById('pge3').href= 'photos/'+ numimg[2] +'.jpg';
document.getElementById('scr3').innerHTML = numimg[2];
document.getElementById('mypic4').src= 'photos/'+ numimg[3] +'.jpg';
document.getElementById('pge4').href= 'photos/'+ numimg[3] +'.jpg';
document.getElementById('scr4').innerHTML = numimg[3];
}
}
</SCRIPT>
</head>
<body onLoad="look();">
<br>
<div id="cont">
<br>
<div style="float:left;"><a id="pge1" href="#" target="_blank">
<img src="vide.gif" id="mypic1" class="img"></a><div id="scr1"></div></div>
<div style="float:left;"><a id="pge2" href="#" target="_blank">
<img src="vide.gif" id="mypic2" class="img"></a><div id="scr2"></div></div>
<div style="float:left;"><a id="pge3" href="#" target="_blank">
<img src="vide.gif" id="mypic3" class="img"></a><div id="scr3"></div></div>
<div style="float:left;"><a id="pge4" href="#" target="_blank">
<img src="vide.gif" id="mypic4" class="img"></a><div id="scr4"></div></div>
<!-- lien pour recharger les 4 images -->
<a href="#" onclick="look();return false;">look</a><br><br>
</div>
</BODY>
</HTML>

Evidemment j'aurais pu afficher en faisant une boucle sur un document.write (mais perso , j'aime pas les document.write [8)] )

si questions ne pas hesiter ...

++

L.

par leris, 26/07/2004 à 21h44
ben mon colon ... pas glop !

re ,

erreur :

<SCRIPT LANGUAGE="JavaScript">

*/ >>> ICI mettre : /*

++

L.

par leris, 26/07/2004 à 21h46
ben mon colon ... pas glop !

je te remercie
je vais essayé tout ça dans la journée

par ericoprod, 27/07/2004 à 08h43
ericoprod

re à tous ,

modification/simplification :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Page Web</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<STYLE type=text/css>
BODY{
text-align:center;background-color: aliceblue;margin:0px;
}
#cont{
width:450px; border:1px solid blue; margin-left:auto; margin-right:auto;
}
.img{
width:100px; height:70px; margin-left:10px; border:0px;
}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">

/*
Les images sont nommées de 1.jpg à 22.jpg , elles sont placées dans le sous-repertoire "photos".
les liens renvoient sur une page "_blank" qui affiche les images en taille réelle.
Pour afficher une page.htm placée dans le sous-dossier pages : href = 'pages/'+ numimg[j] +'.htm';
Ici ce sont les mêmes images qui servent en onglets et taille réelle.(à vous de modifier)
*/

var nbimage= 22;
numimg = new Array()
function look()
{
for (var i = 1; i < 5; i++)
{
numimg[i]= Math.round(Math.random()*(nbimage-1)+1);
for (var j = 0; j < i; j++)
if (numimg[i] == numimg[j]) // teste (si identique , refait le tirage)
{
numimg[i]= Math.round(Math.random()*(nbimage-1)+1);
j = -1;
}
document.getElementById('mypic'+[i]).src= 'photos/'+ numimg[j] +'.jpg';
document.getElementById('pge'+[i]).href= 'photos/'+ numimg[j] +'.jpg';
document.getElementById('scr'+[i]).innerHTML = numimg[j];
}
}
</SCRIPT>
</head>
<body onLoad="look();">
<br>
<div id="cont">
<br>
<div style="float:left;"><a id="pge1" href="#" target="_blank">
<img src="vide.gif" id="mypic1" class="img"></a><div id="scr1"></div></div>
<div style="float:left;"><a id="pge2" href="#" target="_blank">
<img src="vide.gif" id="mypic2" class="img"></a><div id="scr2"></div></div>
<div style="float:left;"><a id="pge3" href="#" target="_blank">
<img src="vide.gif" id="mypic3" class="img"></a><div id="scr3"></div></div>
<div style="float:left;"><a id="pge4" href="#" target="_blank">
<img src="vide.gif" id="mypic4" class="img"></a><div id="scr4"></div></div>
<!-- lien pour recharger les 4 images -->
<a href="#" onclick="look();return false;">Autre tirage</a><br>
</div>
</BODY>
</HTML>

merci pour vos critiques , ameliorations , modifications ...

++

L.

par leris, 22/08/2004 à 12h17
ben mon colon ... pas glop !

Bonjour,

Recherchant à réaliser un tirage aléatoire de tarot mais débutant même pas premier niveau sous javascript, je me suis arrêté sur votre script.
Je souhaite réaliser deux tirages :
- le premier serait un tirage de 3 cartes, vue de dos avec une indication de thème pour chacune des 3 cartes (Amour, humeur et travail) et un titre décrivant le tarot. Je clique sur chacune des 3 cartes, elles se retournent (aléatoire), je clique sur un onglet en dessous (onglet : votre réponse) ; Et ici nous avons le visuel des 3 cartes avec un texte donnant l’interprétation des cartes.
Questions : outre l’écriture du code…comment lier les images et le texte ? faut-il un tableau ? comment faire ?

- pour le second tirage, ce serait un tirage d’une seule carte avec là aussi un titre décrivant le tarot. On voit une quinzaine de carte alignées et se chevauchant de dos avec un texte au milieu « cliquez ici » sur un fond avec une photo.
- On clique et une carte apparaît retournée avec donc l’interprétation texte

Même questions que ci-dessus, je peux vous monter des visuels qui seront peut-être plus parlant.

Merci pour votre éclairage.

par morerik, 01/07/2011 à 14h59

Bonjour,
le plus gros du traitement est déjà décrit au dessus, les modifs concernent les 3 possibilités (amour,humeur,travail) qui sont des sous catégories possédant chacune leurs image et texte qui peuvent être numérotées pour les images , les textes pouvant être stockées dans des balises div qui sont affichées ou non. A+

par sprayart, 02/07/2011 à 15h47

Bonjour à tous,

Ce script est très intéressant !
Bravo à l'auteur qui en a fait le don !
c'est le seul site où j'ai trouvé quelqu'un qui à concrétement apporté son aide pour ce style de script...

Je suis en train de créer mon site sur Wiféo, j'ai passé des nuit blanches à comprendre le java script et je suis encore très loin d'en avoir compris les bases.

Après de mutiples recherches et trafics de script trouvé sur différents sites, j'ai tout de même réussi à sortir ceci :

http://stephanie-voyance-tarologie.wifeo.com/contact.php

Mon problème est que je n'arrive pas à ajouter une fonction pour mélanger mes images et je e vois mal le faire "manuellement" chaque jour.

Alors, lorsque je suis tombée sur votre discussion, j'ai tenté d'utiliser le script proposé en le modifiant mainte et mainte fois pour en retirer l'idée de "mélange" des cartes, l'apparition des cartes tirées à la place d'une zone de texte et l'apparition de 5 cartes au lieu de 4.

Je n'ai réussi à appliquer que la dernière modification !
http://stephanie-voyance-tarologie.wifeo.com/essai.php

Je n'ai pas réussi non plus à créer le répertoire de photos, n'y connaissant rien j'ai tenté cela :
var nbimage= 22;
numimg = new Array()
rep = "photos"
numimg[0] = 'http://stephanie-voyance-tarologie.wifeo.com/images/t/tu1/TU10A.jpg';
numimg[1] = 'http://stephanie-voyance-tarologie.wifeo.com/images/t/tu2/TU20A.jpg';
numimg[2] = 'http://stephanie-voyance-tarologie.wifeo.com/images/t/tu3/TU30A.jpg';
numimg[3] = 'http://stephanie-voyance-tarologie.wifeo.com/images/t/tu4/TU40A.jpg';
numimg[4] = 'http://stephanie-voyance-tarol.................etc
mais ça ne fonctionne pas... j'imagine ne pas comprendre, malgré mes recherches, le fonctionnement d'un répertoire et comment l'ecrire.

Je ne sais pas non plus où placer l'image du dos de la carte, bref je ne sais pas grand choses...

Donc voilà, j'aurais bien besoin de votre aide si vous le voulez bien car j'avoue que je suis fatiguée de me tirer les cheveux. Je commence à me décourager mais vu le temps que j'ai passé à trouver une solution, je ne peux pas laisser tomber...

Pour info, je n'ai besoin que du tirage aléatoire avec ses images comme sur mon site, pas de pages html pour donner l'analyse car le but est que je réponde personnellement aux tirages des consultants par mail (une vrai consultation gratuite).

Je vous remercie d'avance pour vos réponses,
cordialement,

Stéphanie

par un John Doe, 26/09/2011 à 15h14

Re bonjour,

je continu mes essais...
j'ai créé sur mon bureau dossier nomé "photos", s'y trouvent les 22 cartes nomées 1.jpg, 2.jpg jusqu 22.jpg...

j'ai ensuite noté ceci dans le script :

........... height:100px; margin-left:10px; border:0px;
}</style><SCRIPT LANGUAGE="JavaScript">

/*
Les images sont nommées de 1.jpg à 22.jpg , elles sont placées dans le sous-repertoire "photos".
les liens renvoient sur une page "_blank" qui affiche les images en taille réelle.
Pour afficher une page.htm placée dans le sous-dossier pages : href = 'pages/'+ numimg[j] +'.htm';
Ici ce sont les mêmes images qui servent en onglets et taille réelle.(à vous de modifier)
*/

var nbimage= 22;
numimg = new Array()
numimg[0] = '1.jpg';
numimg[1] = '2.jpg';
numimg[2] = '3.jpg';
numimg[3] = '4.jpg';
numimg[4] = '5.jpg';
numimg[5] = '6.jpg';
numimg[6] = '7.jpg';
numimg[7] = '8.jpg';
numimg[8] = '9.jpg';
numimg[9] = '10.jpg';
numim.....etc

c'est toujours un echec !

par Stephhh, 26/09/2011 à 18h10

répondre

  • nous contacter
  • mentions légales