Farbwechsel der Schrift

  • Hallo zusammen, ich bin ganz neu hier und entschuldige meine Unwissenheit.

    ich bin ganz neu bei HTML CSS und Javascript und habe auch mit den Suchergebnisse nichts gefunden.

    ich möchte euch erst mal meine Problemstellung beschreiben.

    ich möchte Daten von einem Server ziehen diese verarbeiten und dann in einer Tabelle ausgeben. Es geht dadrum um Zeiten die ich ausgeben möchte.

    Jetzt zu meinen fragen.

    1: Wie kann ich den Text der Zeit rot färben, wenn nur noch 5 Minuten übrig sind?

    2: Mit welchen Befehlen ziehe ich die Daten von dem Server?

    Ich hoffe das reicht als Beschreibung aus.

  • Das rot färben sollte kein Problem sein. Aber um deine Fragen zu beantworten, braucht es mehr Informationen:

    • Ist das dein eigener Server? Oder ein Dienstleister, der die Daten zur Verfügung stellt?
    • In welcher Form liegen die Daten vor? Datenbank, Textdatei CSV/JSON?

    Datatables ist sehr mächtig und unterstützt auch das Laden der Daten durch Ajax und serverseitige Bearbeitung:

    https://datatables.net

  • Also super viel Ahnung dazu habe ich auch nicht aber die Daten werden durch eine SPS der Maschine bereitgestellt und in einer Datenbank gespeichert (DATAFEED und SQLite heißt das glaube ich). Ich hoffe es bringt was


    Diese Daten werden auf einem PC (Server) gespeichert und von dem PC werden mir die Daten zur verfügung gestellt.

  • Zitat

    Diese Daten werden auf einem PC (Server) gespeichert und von dem PC werden mir die Daten zur verfügung gestellt.

    Lese ich erst jetzt. Das ist ja dann ganz etwas anderes. Auf welchem Wege und in welchem Format bekommst Du denn die Daten?

  • Ich geben das Format vor das sieht so aus:

    JSON.parse('{ "name": ["Maschine1", "Maschine2", "Maschine3"], "geschwindigkeit": ["10", "5", "4"], "laenge": ["10", "8", "12"]}');

    dieses Format wird wird auf dem server mit den aktuellen Daten bereitgestellt und ich greife dann dadrauf zu.


    wenn du meinst ob ich weis welcher Baustein die geschwindigkeit oder den Namen der Maschine ausdrückt dann weis ich es.

    Was meinst du mit auf der sps läuft ein Webserver? (sorry ich bin vollkommener Amateur dabei)

  • Zitat

    Was meinst du mit auf der sps läuft ein Webserver?

    Die Frage erübrigt sich, weil ich inzwischen gelernt habe, dass die Daten auf einem PC liegen und Du sie von dort holst.

    Zitat

    Ich geben das Format vor das sieht so aus:

    JSON.parse('{ "name": ["Maschine1", "Maschine2", "Maschine3"], "geschwindigkeit": ["10", "5", "4"], "laenge": ["10", "8", "12"]}');

    dieses Format wird wird auf dem server mit den aktuellen Daten bereitgestellt und ich greife dann dadrauf zu.

    Das sind wichtige Informationen. Funktioniert der Zugriff bzw. das Holen der Daten schon? Und funktioniert das Aufbauen der Tabelle auch schon?
    Wenn ja, brauchst Du ja nur noch ein wenig Javascript, um die Zellen abhängig von der Zeit einzufärben.

  • also die Tabelle funktioniert schon aber den Test habe ich nur mit hart definierten array getestet. ich brauche jetzt das script wie ich die Daten von dem PC hole. also die ip Adresse habe ich schon ich brauche nur das script dazu.

    also meine Idee ist es die Daten von dem pc zu ziehen diese in einem array zu speichern und dieses array dann sortieren und auszugeben.


    ja und wie gesagt dann brauche ich noch den teil mit der Einfärbung.


    kann mir jemand vielleicht eine Seite empfehlen wo ich mir so Grundlagen von null auf aneigne ?

    und kennt sich jemand mit data driven Dokuments aus und wie ich die einbinde ?

  • Zitat

    kann mir jemand vielleicht eine Seite empfehlen wo ich mir so Grundlagen von null auf aneigne ?

    Genau hier, wo dieses Forum ist, bist Du richtig:

    https://www.html-seminar.de


    Leider habe ich keine Ahnung von data driven documents oder Remote Access zu einer Sqlite-Datenbank. Vielleicht meldet sich da noch jemand anders. Ich werde aber versuchen, selber ein wenig zu recherchieren. Oder vielleicht kann dir auch der Entwickler helfen, der diese Datenbank administriert.

  • Hier ein Demo, wo Du ablesen kannst, wie die Rotausleuchtung funktionieren kann:

  • Da zählst du ja selber runter und lässt die Farbe dann aufleuchten aber ich lasse die Tabelle erzeugen mit den Daten der Datenbank


    var Ausgabe = Ausgabe+"<tr><td>"+Name[m]+"</td><td>"+Math.round((Zeit[m])/60)+"</td></tr>";


    kann ich nicht auch ne Schleife davor schalten und sagen if Zeit[m]<5{Schrift.schwarz }

    else (Schrift.rot) oder sowas


    gibt es soeinen Befehl?

  • Zitat

    Da zählst du ja selber runter und lässt die Farbe dann aufleuchten aber ich lasse die Tabelle erzeugen mit den Daten der Datenbank

    Ja natürlich, ich habe ja dran geschrieben, dass das "selber runterzählen" nur zum Test ist. Meine Absicht war, dir die Lösung für die Ausleuchtung zu zeigen.

    Zitat

    kann ich nicht auch ne Schleife davor schalten und sagen if Zeit[m]<5{Schrift.schwarz }

    else (Schrift.rot) oder sowas

    Genau das macht doch mein Skript. Ich habe nur den Umweg über eine Klasse gewählt, weil es dann flexibler ist. Du kannst auch den Rahmen oder den Hintergrund einfärben, nur durch Änderung des CSS.

  • ich verstehe das script nicht so ganz.

    Kannst du mir bitte nach der var Ausgabe eine if else Schleife aufstellen, das sich die Farbe ändert wenn die Zeit unter 5 Minuten ist ?

  • Um das Skript zu verstehen, musst Du dir auch das CSS ansehehen.

    Dieses Javascript:

    Code
          if (cell.innerHTML < 5) {
              cell.classList.add("low");
          }

    fügt die Klasse "low" zu der Tabellenzelle hinzu, wenn der Inhalt kleiner als 5 ist.

    Und dieses CSS:

    Code
            #machinedata td.low {
                color: red;
            }

    ändert die Schriftfarbe auf rot, wenn die Klasse "low" bei der Tabellenzelle vorhanden ist.


    Ohne CSS würde es so aussehen:

Jetzt mitmachen!

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