Problème JS [Résolu]

-
Bonjour,

J'ai un soucis avec une fonction de mon script.
Le problème vient de la dernière partie, du 'if'.
En gros le 'if' est là pour faire : si la nouvelle valeur v est plus grande que la valeur x alors x=t.
toute la fonction fonctionne bien sauf cette valeur x qui ne fonctionne que entre 0 et 9, 90 et 99, 990 et 999 etc... et je ne comprends pas du tout pourquoi ...

Si vous pouviez me donner un peu de votre lumière..

Merci

function troispoint(){
       
       var sideTotale = document.getElementById('sideTotal').textContent;
       var pos = id3pts.indexOf(event.target.id);
       var valeur = document.getElementById('reussi3'+pos).innerHTML;
       var valeurRate = document.getElementById('rate3'+pos).innerHTML;
       var  valeurp = document.getElementById('idp3'+pos);
       var pts = document.getElementById('total'+pos).innerHTML;
       var truc = joueur[pos];
       valeurRate++;
       valeur++;
       pts++;
       sideTotale++;
       document.getElementById('sideTotal').innerHTML=sideTotale+2;
       document.getElementById('total'+pos).innerHTML = pts+2;
       document.getElementById('reussi3'+pos).textContent = valeur;
       document.getElementById('rate3'+pos).textContent = valeurRate;
       document.getElementById('idp3'+pos).textContent = (Math.round((valeur/valeurRate)*100)) +"%";
    
      if(document.getElementById('total'+pos).innerHTML>document.getElementById('meilleur').innerHTML){
       document.getElementById('meilleur').innerHTML = document.getElementById('total'+pos).innerHTML;
      document.getElementById('name').innerHTML = truc;
    }
  }



Configuration: Windows / Chrome 77.0.3865.120
Afficher la suite 

2 réponses

Messages postés
26747
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 novembre 2019
1877
0
Merci
Bonjour,

Si ce sont des valeurs numériques tu dois les caster en tant que tel...

Le innerHTML récupère un "text".
Tu dois le "convertir" en nombre via un parseFloat par exemple
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/parseFloat

var valA = parseFloat(document.getElementById('total'+pos).innerHTML);
var valB = parseFloat(document.getElementById('meilleur').innerHTML);
 if(valA >valB ){

Commenter la réponse de jordane45
0
Merci
Super merci beaucoup !!
Commenter la réponse de Ryux