Insérer une image selon un résultat mathématique

cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009 - 11 juin 2003 à 15:29
cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009 - 11 juin 2003 à 19:34
Bonjour,

Je m'explique car mon sujet n,est pas très révélateur. Je dois créer une page qui fait des calculs mathématiques et jai pensé insérer des images pour faire plus dynamique.
Exemple: si la personne calcule 12*12, bien je veux trouver le moyen d'insérer le gif 1 gif 4 gif 4
J'ai réussi à les afficher mais il s'affiche dans une autre page car j'utilise
document.write('');

J'aimerais donc pouvoir insérer les images successivement à l'endroit où je le veux. J'ai divisé ma page avec un tableau html, comment pourrais-je faire pour afficher mes images dans une des colonnes/rangées désirées.

Merci beaucoup de me donner un petit coup de main

8 réponses

mrshardax Messages postés 47 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 22 mars 2006 2
11 juin 2003 à 16:43
alors, c'est facile, tu fais une div la ou tu veux afficher les images



Ensuite pour ajouter du code a la dynamique, il suffit de faire en Javascrit

resultat.innerHTML = monCodeHTML


monCodeHTML doit etre une string qui contient du code HTML. Je te conseille de faire une function Javascript qui prend en parametre un nombre et qui renvoir un code HTML du type
.....


Voila, c'était pas compliqué.
0
cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009
11 juin 2003 à 16:50
Ok, je me relis et je vais essayer d'être plus clair

J'ai un formulaire avec 2 options (longueur,largeur)
Aussitôt que l'utilisateur choisi une largeur et longueur je vais calculer la surface (les 2 sont à 0 par défaut)

ce que je veux par la suite, c'est afficher le résultat avec des gifs de chiffres de 0 à 9

Mon problème est, que je ne sais pas trop comment placer mon script pour qu'il s'execute au bon moment. Si je le mets dans mon formulaire en dessous de largeur et longueur;ok il marque 0 au début. Mais l'image ne change pas quand je choisis mes dimensions. Je dois faire refresh pour que les bonnes images s'affichent. Je sais que c'est pas super clair mon affaire, je vous fournis donc la parti du code avec l'affichage. P-e que ca vous aidera..Merci encore

<FORM NAME="read_information">
<table width="43%" border="0">
<tr>
<td width="48%" height="80">
<!- Champ pour la largeur->
<select name="a" onChange="calcul(this.form)" size=1>
<option SELECTED value="0">-Width-
<option value="8">8 m
<option value="10">10 m
<option value="12">12 m
<option value="16">16 m
</select>

<!- Champ pour la longueur->
<select name="b" onChange="calcul(this.form)" size=1>
<option SELECTED value="0">-Length-
<option value="10">10 m
<option value="20">20 m
<option value="30">30 m
</select>
</td>

<!- Champ Résultat pour la surface->
<td width="52%" height="80">

<SCRIPT LANGUAGE="JavaScript">

//Loader mes images dans mon tableau
var r = read_information.a.value*read_information.b.value;
var Images = new Array();
Images[0] = 'numbers/zero.gif'
Images[1] = 'numbers/one.gif'
Images[2] = 'numbers/two.gif'
Images[3] = 'numbers/three.gif'
Images[4] = 'numbers/four.gif'
Images[5] = 'numbers/five.gif'
Images[6] = 'numbers/six.gif'
Images[7] = 'numbers/seven.gif'
Images[8] = 'numbers/eight.gif'
Images[9] = 'numbers/nice.gif'

//Déclaration de mon air en string et de mes images
var air = r.toString();

//Afficher les images
for(var i=0;i < air.length;i++)
{
document.write('');
}

</SCRIPT>
0
cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009
11 juin 2003 à 17:26
est-ce que c,est correct de faire

var image;
switch(chiffre){
case 1:
image =
break
case 2:
image =
break
...
il semble me faire une erreur à la ligne
image =

je veux tenter de renvoyer la variable image !!
0
mrshardax Messages postés 47 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 22 mars 2006 2
11 juin 2003 à 17:34
Bon, j'ai du temps devant moi, donc, solution.
function quiRenvoieLeCodeDeLImage(nombre) {

  var leCode ;
  var chiffre ;

  while(nombre!=0) {
    chiffre = nombre%10 ;
    switch(chiffre){
      case 1:
      image = "" + image
      break
      case 2:
      image = "" + image
      break
      ...
    }

    nombre = nombre/10 ;
  } 
}


Je crois k il existe des problemes de cast en javascript fais attention.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mrshardax Messages postés 47 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 22 mars 2006 2
11 juin 2003 à 17:56
Desole, c'était n importe koi, j'ai été perturbé

function quiRenvoieLeCodeDeLImage(nombre) {

   var leCode ;
   var chiffre ;
 
   while(nombre!=0) {
     chiffre = nombre%10 ;
     switch(chiffre){
       case 1:
       leCode = "" + leCode
       break
       case 2:
       leCode = "" + leCode
       break
       ...
     }
 
     nombre = nombre/10 ;
   } 
    return leCode ;
 }


La remarque d avant est toujours valable, si ca part en vrille, regarde d'abord le résultat des divisions et des modulos.
0
cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009
11 juin 2003 à 18:43
je me suis emporté trop vite..ca marche a moitié

voila le problème

le nombre/10 cause problème dans un cas comme 480
car le chiffre sera 0..8 mais apres 4.8, le programme me sort donc un undefined car je n'ai pas le chiffre 4.8 dans mes images
ce n'est pas comme en c++ ou la réponse de 48/10=4

est-ce qu'il y moyen de faire la meme affaire en javascript ?

merci
0
mrshardax Messages postés 47 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 22 mars 2006 2
11 juin 2003 à 18:50
Oui, c'est precisement ca dont je parlais. Je sais pas si tu peux le caster directement en int en fait, sinon, tu peux toujours bricoler :
//en debut de fonction, tu as :
chiffre = nombre%10 ;
.......
// et tu change la fin par :
nombre = (nombre-chiffre) / 10 ;


Bon, a moins k il te sorte une connerie style 4.0, ca devrait fonctionner. C'est pas super propre et technique, mais bon, je sais pas du tout si il y a un autre moyen.

Voila, j'espere que tu es tiré d'affaire.
0
cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009
11 juin 2003 à 19:34
ok la tout marche !! merci encore
0
Rejoignez-nous