Problème JS

Résolu/Fermé
Ryux - Modifié le 28 oct. 2019 à 17:08
 Ryux - 29 oct. 2019 à 09:35
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
A voir également:

2 réponses

jordane45 Messages postés 36599 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 décembre 2022 4 419
28 oct. 2019 à 22:16
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 ){

0