Problème JS

Résolu
Ryux -  
 Ryux -
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

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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