Markus: Die Bedingung erfüllt sich nicht

Es gibt dieses eine Script von Selfhtml ,das den bg solange erhöht bis der Bildschirm weis ist .So mein Problem ist ,daß ich dieses Script mit der Anweisung verbinden wollte, bei weissem Bildschirm   eine Seite zu laden ,aber diese Anweisung scheint irgendwie ignoriert zu werden ,obwohl ich diese while Schleife schon überall versucht habe auf verschiedenste Art und Weise einzusetzen.

while (document.bgColor == "ffffff")
{
window.location.href = "site/frameset.html"
}

und hier nun das Script aus Selfhtml

var X = new Array
 ("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");

var x1 = 0, x2 = 0;

for(i = 0; i < 255; ++i)

{
   document.bgColor = X[x1] + X[x2] + X[x1] + X[x2] + X[x1] + X[x2];  x2 = x2 + 1;

if(x2 % 16 == 0)
    {
    x2 = 0; x1 = x1 + 1;
    }

}

  1. Hi,

    vielleicht  while (document.bgColor == "#ffffff"),
    wenn die Fraben überhaupt immer gleich bezeichnet werden,
    z.B. "white" o. "black" oder rgb()

    Du könnstet den Seitenwechsel doch besser in die
    for-Schleife setzen, if(i>254) o.ä. ?

    Grüsse

    Cyx23

    1. Hi,

      vielleicht  while (document.bgColor == "#ffffff"),
      wenn die Fraben überhaupt immer gleich bezeichnet werden,
      z.B. "white" o. "black" oder rgb()

      Du könnstet den Seitenwechsel doch besser in die
      for-Schleife setzen, if(i>254) o.ä. ?

      Grüsse

      Cyx23

      hab ich alles schon probiert ,ausserdem steht in SelfHTML das die Farben in diesem Fall ohne Gatterzeichen notiert werden (es geht mit auch nicht)

      1. Hi,

        vielleicht  while (document.bgColor == "#ffffff"),
        wenn die Fraben überhaupt immer gleich bezeichnet werden,
        z.B. "white" o. "black" oder rgb()

        Du könnstet den Seitenwechsel doch besser in die
        for-Schleife setzen, if(i>254) o.ä. ?

        Grüsse

        Cyx23

        hab ich alles schon probiert ,ausserdem steht in SelfHTML das die Farben in diesem Fall ohne Gatterzeichen notiert werden (es geht mit auch nicht)

        Mit "alert(document.bgColor)" kannst du eine Dialogbox ausgeben lassen, die dir den Inhalt des Objekts ausgibt. Mit dem kannst du dann vergleichen. Aber sieh' zuerst meine andere Antwort...

        - Sven Rautenberg

      2. Hallo,

        hab ich alles schon probiert ,ausserdem steht in SelfHTML das die Farben in diesem Fall ohne Gatterzeichen notiert werden (es geht mit auch nicht)

        das meiste aus SelfHTML stimmt ja auch, aber ich bekomme bei
        alert(document.bgColor) das ganze mit Gatter.
        (Wenn's so wichtig ist nochmal versuchen mit substr()o.ä.)
        Ich würde die for-Schleife verändern, evtl. was mit timeout
        oder interval, jedenfalls von dort über if(i>253) oder so.

        Grüsse

        Cyx23

  2. while (document.bgColor == "ffffff")

    Erstens: Warum eine while-Schleife? Willst du die Seite immer und immer wieder aufrufen? Nimm lieber if, das macht von der Programmlogik mehr Sinn, selbst wenn while funktionieren sollte.

    {
    window.location.href = "site/frameset.html"
    }

    und hier nun das Script aus Selfhtml

    var X = new Array
    ("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");

    var x1 = 0, x2 = 0;

    for(i = 0; i < 255; ++i)

    {
       document.bgColor = X[x1] + X[x2] + X[x1] + X[x2] + X[x1] + X[x2];  x2 = x2 + 1;

    if(x2 % 16 == 0)
        {
        x2 = 0; x1 = x1 + 1;
        }

    }

    Zweitens: Warum setzt du nicht einfach die Anweisung für das neue Laden ans Ende dieser for-Schleife? Dann wird die Umleitung sofort ausgeführt, sobald die Schleife beendet und die Seite weiß ist:

    window.location.href = "site/frameset.html";

    Ganz ohne while-Schleife.

    - Sven Rautenberg

  3. Versuche doch einmal mit folgendem Quelltext
    if (document.bgColor == "ffffff")
       document.location.href=deinLink
    oder nach dem Durchlauf der Schleife zum Wechsel der Farbe

    function ChangeBgColor()
    {
       while (Bedingung für den Farbenwechse)
       {
          Farbenwechsel
       }
       document.location.href="url";
    }

    Wenn die Funktion aufgerufen wird, so wird die Schleife durchlaufen und eine neue Seite wird geladen.

    Ich hoffe, dass es funktioniert.

    MFG Socke

    1. Argh ,es ist ja so einfach ,wenn ich nach der Schleife window.location.href = "bla" notiere geht es
      Danke Socke