Bestimmte Zahlen farbig

  • Hallo,


    Ich möchte gerne bestimmte Zahlen auf meiner Seite farbig machen (z.B. 155 in Rot). Dies ist nun ja ganz einfach aber da sich immer die Zahlen ändern weil durch die API verschiedene Spielerzahlen anzeigen wird das schwer, da niedrige zahlen grün sein sollten und mittlere orange und hohe rot

  • Das solltest du vieleicht mal genauer erklären.

    Zahlen färben wäre am einfachsten über Klassen.

    Bestimmte Zahlen in anderen Farben kann man mit if oder case machen

    Code
    var zahl = 10;
    if(zahl<=10){
      color='red';
    }else{
      color='green';
    }
    document.getElementsByClassName('zahlen-mit-farbe')[0].style.color=color;

    Bei mehren Zahren der gleichen Klasse muss du noch nee Schleife nutzen.

    Falls jquery schon eingebunden ist dann geht es auch ohne Schleife

  • Dazu müsste man aber zuvor schon das Dokument entsprechend erstellen, um die Zahlen mit einer CSS-Klasse zu markieren.

    In dem Fall wäre JS überflüssig, weil ich dann auch einfach per CSS die Farbe setzen kann.


    Ich gehe eher davon aus, dass es sich um eine Tabelle handelt, in der Werte stehen, welche ab einer bestimmten Schwelle hervorgehoben werden.

    Dann könnte man es allerdings genauso machen und bspw. mit PHP zuvor die korrekte CSS-Klasse verteilen. Das wäre dann wieder JS frei.

    Wenn das aber zwingend clientseitig gelöst werden muss, empfehle ich die Werte in entsprechenden Elementen zu verschachteln, bspw.:

    HTML
    <span class="value">10</span>

    Dann kann ich per JS alle sammeln und die Werte prüfen:

    JavaScript
    var _values = Array.prototype.slice.call( document.querySelectorAll('.value') );
    _values.forEach(i => {
        _iValue = parseInt( i.textContent, 10 );
        
        if ( _iValue > 10 )
            i.classList.add( 'highlight' );
    });

    Der Farbwert sollte dann im CSS in der Klassendefinition für highlight hinterlegt sein.

    Ungetestet, aber als Beispiel sollte das genügen...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!