Avatar billede rhl2401 Mester
29. juni 2018 - 13:13 Der er 1 kommentar og
1 løsning

jQuery less than og bigger than beregner et forkert resultat

Hej. Jeg har en hjemmeside, hvor jeg henter nogle talværdier fra HTML-elementer via "data-*"-attributter. Dem behandler jeg med jQuery, hvor jeg skal finde ud af, om en værdi, der indsættes i funktionen er over, under eller midt i mellem de to talværdier, der hentes til at starte med.
Problemet ligger i, at beregningen ikke fungerer helt korrekt.
For eksempel sker der det, at jeg får et resultat, der siger at 252 er midt i mellem 2300.0 og 2550.0, hvor der er en helt tydelig sammenhæng, der indikerer, at jQuery behandler 252 som var det 2520.0. Dette problem sker ved alle beregninger (jeg foretager samme beregning 118 gange i træk).

jQuery-funktionen, der kaldes ser således ud:
function color_elements(temp) {
  $(".element").each(function() {
    var melting = $(this).attr("data-melting");
    var boiling = $(this).attr("data-boiling");
    var yellow = "#fddb36";
    var blue = "#1d9dae";
    var red = "#c5707c";
    if(temp < melting) {
      $(this).children(".table-symbol").css("color", yellow);
    } else if(temp > melting && temp < boiling) {
      $(this).children(".table-symbol").css("color", blue);
    } else if(temp > boiling) {
      $(this).children(".table-symbol").css("color", red);
    }
  });
}

Jeg har gennem "console.log()" printet værdierne og tjekket, at det er de helt korrekte værdier, der kommer ud.
Er det en kendt fejl, at der er forvirring mellem eksempelvis decimaltal og heltal eller lignende? Jeg har nu siddet i mange timer og prøvet at løse dette meget usædvanlige problem.
Jeg kan sagtens give mere kode, hvis det er behov for det.

Jeg håber nogle af jer kloge hoveder kan hjælpe mig.
Vh
Rasmus
Avatar billede erikjacobsen Ekspert
29. juni 2018 - 13:40 #1
Det virker som om du sammenligner strenge og ikke tal.
Avatar billede rhl2401 Mester
29. juni 2018 - 13:51 #2
Det var det, der var galt. Tusind tak, erikjacobsen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester