Einfärben in Java Script

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hallöle!

    Wenn Du

    Quellcode

    1. {
    2. if ((i*j)%2==0||(i*j)%5==0) {
    3. document.write("<td><bgcolor='red'>"+i*j+"</td>");
    4. }


    gegen

    Quellcode

    1. if (i==5||j==5) {
    2. document.write("<td style='background:red'>"+i*j+"</td>");
    3. }


    austauschst, sollte ein nettes rotes Kreuz entstehen. :)
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Jeder glaubt, er hätte genug davon.
    --------------------------------------------------(Rene Descartes)
  • Mich würde mal interessieren, ob überhaupt eine valide Tabelle ausgegeben wird.
    Du solltest zudem dringend auf eine bessere Lesbarkeit deines Codes achten. Wahrscheinlich denkst du dir jetzt, warum sollte ich. Und ich muss zugeben, so habe ich auch mal gedacht. Ich verspreche dir jedoch, dass du dich Tod ärgern wirst, wenn du sowas später nochmal überarbeiten musst. Das ist genau so, wie mit schlecht geschriebenen Texten oder wenn jemand versucht, dir etwas zu erklären und sein Aufbau schon unverständlich ist.

    Hier noch ein Tipp zu JavaScript:

    Quellcode

    1. j=j+1;
    2. // is das gleich wie
    3. j++;

    Mehr dazu: Berechnungsoperatoren
  • So, jetzt hab ich das hier gemacht

    <html>
    <head>
    <title>while_neu</title>
    </head>
    <body text="#000000" bgcolor="#FFFFFF">
    <br>
    <br>
    <h1><div align="center">Das kleine EinMalEins</div></h1>
    <br>
    <br>
    <script language="JavaScript">
    <!--
    var i=1;
    var j=1;
    {
    document.write("<table border='0' align='center' width='50%' cellpadding='10' cellspacing='0'>")
    }
    while(i<=10) {document.write ("<tr>");
    while(j<=10){
    if (i==5||j==5) {
    document.write("<td style='background:red'>"+i*j+"</td>");
    }
    else
    {
    document.write("<td>"+i*j+"</td>");
    }
    j=j++;}
    j=1;

    i=i++;}
    {
    document.write("</tr>");
    }
    {
    document.write("</table>");
    }
    -->
    </script>
    </body>
    </html>

    und es funktioniert überhaupt nichts mehr und ich weiß nicht warum.

    Bitte helft mir!
  • ne, nicht j = j++ sondern einfach nur j++

    Aber ne while-schleife ist doch eh unpassend.
    Wenn man einen zähler braucht, dann kann man
    doch direkt eine for-schleife verwenden, statt sowas. :)
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Jeder glaubt, er hätte genug davon.
    --------------------------------------------------(Rene Descartes)
  • Wie bereits McSush gesagt wurde: Warum keine for-Schleife? Warum nicht i++ oder j++?

    Dann steht da ncoh eine Frage in meinem letzten Beitrag, die bisher nicht beantwortet wurde: Spuckt der Code überhaupt eine valide Tabelle aus? Du hast erst am Ende der Schleife ein schliesendes tr-Tag eingefügt, dabei müsste doch bei jedem Schleifedurchlauf am Anfang und am Ende ein tr-Tag geöffnet und wieder geschlossen werden, oder?

    So hier die Variante, die wir dir schon die ganze Zeit versuchen vorzuschlagen:

    Quellcode

    1. <html>
    2. <head>
    3. <title>While</title>
    4. </head>
    5. <body text="#000000" bgcolor="#FFFFFF">
    6. <br>
    7. <br>
    8. <h1><div align="center">Das kleine EinMalEins</div></h1>
    9. <br>
    10. <br>
    11. <script language="JavaScript">
    12. <!--
    13. document.write("<table border='0' align='center' width='50%' cellpadding='10' cellspacing='0'>");
    14. for(i = 1; i < 10; i++) {
    15. document.write ("<tr>");
    16. for(j = 1; j < 10; j++) {
    17. if (i == 5 || j == 5) {
    18. document.write("<td><font color=#FF0000>" + i*j + "</font></td>");
    19. } else {
    20. document.write("<td>"+i*j+"</td>");
    21. }
    22. }
    23. document.write("</tr>");
    24. }
    25. document.write("</table>");
    26. -->
    27. </script>
    28. </body>
    29. </html>
    Alles anzeigen


    Ich hoffe du siehst selber, dass dieses Schnippsel deutlich übersichtlicher ist.

    Bitte verwende in Zukunft immer die Syntax-Highlighting-Funktionen des Forums, die du unterhalb deines Eingabeforumlars deines Beitrags findest.
  • Immer diese kleinen Fehlerteufel:
    1. for(i = 1; i < 10; i++) {
      Es heißt i <= 10 , sonst wundert sich Anne beim testen, daß ihr 1mal1 nur bis 81 geht.
    2. document.write("<td><font color=#FF0000>" + i*j + "</font></td>");
      *grusel*: <font> ist schon seit Jahren (seit html 4) auf der Liste der überholten und nicht mehr zu verwendenden html-Tags.
      Also bitte: document.write("<td style='color: #FF0000'>" + i*j + "</td>");
    3. Und wenn man schon dabei ist, kann man auch Struktur und Layout trennen. Wozu gibt's denn CSS?
    4. Dann noch ne Doctype, damit auch wirklich alle glücklich sind und kein Browser in den Quirksmodus hüpft.

    ....und anschließend hält man kurz inne und überlegt, ob Anne wirklich darauf wert legt.
    Ich würde stark darauf tippen, daß dies ihre ersten JavaScript-Versuche sind
    und sie jetzt einfach nur happy ist, daß es klappt. ;)
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Jeder glaubt, er hätte genug davon.
    --------------------------------------------------(Rene Descartes)
  • Da hast du vollkommen recht! Es läuft auch und ich bin sehr froh!

    UPDATE
    j=j+1 hab ich ümgeändert in j++, ich kannte auch beide Befehle, aber es sind nunmal meine ersten Versuche..
    So, hab ich alle Fragen beantwortet?

    UPDATE
    neine eine Frage noch nicht: Ja es kommt eine sehr schöne hunderter Tabelle raus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Anne ()

  • Oh ... dumme Fehler. Danke für den Hinweis.
    Dann zu der Thematik, ob man nun schon in den Anfängen darauf achten sollte, sauber zu schreiben:

    1. bringt es dir Anne ungemein viel, wenn du bei der Fehlersuche die Struktur schnelle erkennst und Fehler vielleicht gar nicht erst einbaust.
    2. bin ich ja nicht dabei, zu versuchen, dir unheimlich schwere Techniken ans Herz zu legen, sondern nur ein Grundaufgabe im Schreiben von Code. Eine Art Tipp für die Zukunft auf derartige eigene Hilfestellungen zu denken. Es gibt auch unzählige Editoren, die dir bei dieser Aufgabe weiterhelfen.

    Aber gut: Vielleicht ist es erst einmal wichtig, dass alles klappt ... was weiß ich ... :D