EnricoL: Ebenenwechsel klappt nicht

Hallo,

ich habe das Problem, dass ich beim Aufrufen einer Seite ein Wartebild anzeigen
und nach vollständig geladener Seite dieses wieder verdecken und die eigentliche
Seite anzeigen lassen möchte.

Hier der HTML-Code:

<html>

<head>
            ... usw ...
            <script type="text/javascript" src="Ebenen.js">
            <link rel="stylesheet" type="text/css" href="Layout.css">
         </head>

<body onLoad="Wartescreen(1);">

<div id="Ladeanzeige">
               ... usw ...
            </div>

<div id="Anzeige">
               ... usw ...
            </div>

<script type="text/javascript">
               <!--
                  Wartescreen(0);
               //-->
            </script>

</body>

</html>

Die css-Datei für die betroffenen Ebenen:

#Ladeanzeige,
      #Anzeige
      {
         width:    100%;
         height:   100%;
         position: absolute;
         top:      0px;
         left:     0px;
      }

#Ladeanzeige
      {
         background-color: #e5e5e5;
         visibility:       visible;
      }

#Anzeige
      {
         visibility: hidden;
      }

Die js-Datei für den Ebenenwechsel:

function Wartescreen (Status)
      {
         if (Status == 0)
         {
            document.getElementById("Anzeige").style.display     = "block";
            document.getElementById("Ladeanzeige").style.display = "none";
         }
         else
         {
            document.getElementById("Anzeige").style.display     = "none";
            document.getElementById("Ladeanzeige").style.display = "block";
         }
      }

Wenn ich die Seite aufrufe, dann tut sich kurz was, aber letztendlich wird keine
der beiden Ebenen angezeigt.

Wo liegt der Fehler?

Vielen Dank für Eure Mithilfe.

Liebe Grüße
EnricoL

  1. <script type="text/javascript" src="Ebenen.js">

    Wie wäre es mit <script type="text/javascript" src="Ebenen.js"></script>  ?

    #Ladeanzeige
          {
             background-color: #e5e5e5;
             visibility:       visible;
          }

    #Anzeige
          {
             visibility: hidden;
          }

    Wieso legst Du einmal eine visibility und dann noch im JS display an? Bin mir nicht sicher, aber der Fehler könnte schon dort liegen..

    function Wartescreen (Status)

    Hm.. ich würde das Leerzeichen nach dem Funktionsnamen entfernen.

    {
             if (Status == 0)
             {
                document.getElementById("Anzeige").style.display     = "block";
                document.getElementById("Ladeanzeige").style.display = "none";
             }
             else
             {
                document.getElementById("Anzeige").style.display     = "none";
                document.getElementById("Ladeanzeige").style.display = "block";
             }
          }

    Anstatt document.getElementById("Id")... würde ich es lieber mit document.getElementById('Id')... versuchen.

    Ich hoffe, ich liege bei wenigstens einem meiner Tipps auf der richtigen Seite ;)
    Viel Glück noch mit deiner Page (:
    lG Nino

    1. Hi,

      <script type="text/javascript" src="Ebenen.js">

      Wie wäre es mit <script type="text/javascript" src="Ebenen.js"></script>  ?

      Das waer wohl besser, denn der IE reagiert auf nicht wieder explizit geschlossene Script-Elemente komisch - er ignoriert dann den Rest des Codes, den er als Inhalt des Script-Elements ansieht.

      Wieso legst Du einmal eine visibility und dann noch im JS display an? Bin mir nicht sicher, aber der Fehler könnte schon dort liegen..

      Zumindest etwas per visibility unsichtbar zu machen, und dann nur die display-Eigenschaft zu aendern, macht es nicht wieder sichtbar, das stimmt.

      Anstatt document.getElementById("Id")... würde ich es lieber mit document.getElementById('Id')... versuchen.

      Nee, das ist wirklich egal.

      MfG ChrisB

  2. Hi,

    ich habe das Problem, dass ich beim Aufrufen einer Seite ein Wartebild anzeigen und nach vollständig geladener Seite dieses wieder verdecken und die eigentliche Seite anzeigen lassen möchte.

    Das finde ich zwar auch leicht problematisch (weil irgendwie bloedsinnig - warum soll ich mir nicht das, was schon verfuegbar ist, schon mal ansehen koennen, wenn das Laden mal laenger dauert) - aber ich glaube, das ist nicht dein "Problem", sondern lediglich dein Vorhaben.

    Wenn ich die Seite aufrufe, dann tut sich kurz was, aber letztendlich wird keine der beiden Ebenen angezeigt.

    Das klingt schon eher nach (d)einem Problem - aber die Beschreibung ist reichlich duerftig. Was bedeutet denn bspw. "es tut sich kurz was" ...?

    MfG ChrisB