<DIV > Element beim starten der Seite verstecken !
HaMartens
- javascript
Hallo ich würde gerne ein DIV Element im HTML Code haben, dass beim normalen Aufruf der Seite NICHT angezeigt wird. Ich hatte mir folgenden Code gedacht:
"...
<script type="text/javascript">
function closeErrorWindow() {
this.document.getElementById("errormessage_fenster").style.visibility = "hidden";
}
</script>
</head>
<body onLoad="closeErrorWindow();">
<!-- Wenn Javascript ausgeschaltet ist, zeige die Fehlermeldung an -->
<div id="java_not_activated">
<h2> Fehler ! </h2>
<p> Sie haben JavaScript <strong>deaktiviert.</strong> Um die Seite korrekt darzustellen,
aktivieren Sie bitte Java Script.
</p>
</div>
...
"
Das funktioniert auch soweit, bloß dummerweise wird der Inhalt des div Tags immer für einen Bruchteil einer Sekunde angezeigt und anschließend dann ausgeblendet ! body onload sollte doch eigentlich das erste sein was ausgeführt wird ?
Gibt es eine Möglichkeit das perfekt zu gestalten ?
Vielen Dank für alle Ratschläge !!!
Hello,
body onload sollte doch eigentlich das erste sein was ausgeführt wird ?
nein, onload wird ausgeführt wenn der Ladevorgang beendet ist (so kann man sicherstellen, dass alle erwarteten Bestandteile auch wirklich da sind).
Gibt es eine Möglichkeit das perfekt zu gestalten ?
na ja, du könntest das Ausblendskript direkt hinter dem div und ohne Funktion ablegen, dann sollte es direkt ausgeführt werden wenn der Browser mit dem Parsen dort angelangt ist.
MfG
Rouven
Danke, beides Super Ideen !
Hat mir sehr weitergeholfen :-)
body onload sollte doch eigentlich das erste sein was ausgeführt wird ?
nein, onload wird ausgeführt wenn der Ladevorgang beendet ist (so kann man sicherstellen, dass alle erwarteten Bestandteile auch wirklich da sind).
Hmm nochmal kurz darüber nachgedacht. Aber warum onload dann nicht trotzdem als erstes im body ausgeführt ? Der Browser könnte doch die gesamte Seite lesen, prüfen ob alles da ist und dann mit onload als allererstem anfangen ???
Mahlzeit HaMartens,
Hmm nochmal kurz darüber nachgedacht. Aber warum onload dann nicht trotzdem als erstes im body ausgeführt ?
Wird es doch. Allerdings natürlich erst NACHDEM der gesamte HTML-Code geladen und geparst wurde.
Der Browser könnte doch die gesamte Seite lesen, prüfen ob alles da ist und dann mit onload als allererstem anfangen ???
Macht er ja.
Du plenkst übrigens.
MfG,
EKKi
Wird es doch. Allerdings natürlich erst NACHDEM der gesamte HTML-Code geladen und geparst wurde.
Und wie kommt es dann, dass der Browser den DIV Inhalt erst anzeigt, und dann wieder versteckt, obwohl der Aufruf der style.visibility = "hidden" Funktion im body tag aufgerufen wird?
Du plenkst übrigens.
Nicht immer, nur hin und wieder am Satzende ! (Satzende! schau ja wohl doof aus ;o)
Mahlzeit HaMartens,
Wird es doch. Allerdings natürlich erst NACHDEM der gesamte HTML-Code geladen und geparst wurde.
Und wie kommt es dann, dass der Browser den DIV Inhalt erst anzeigt, und dann wieder versteckt, obwohl der Aufruf der style.visibility = "hidden" Funktion im body tag aufgerufen wird?
Wo "im body tag" wird da eine Funktion aufgerufen? Im "onload"-Eventhandler? Dann ist es doch klar:
Der Browser liest die Datei ein, parst sie und stellt sie dar. Erst jetzt - NACH dem Laden - werden die verschiedenen "onload"-Eventhandler getriggert, so dass u.a. auch das <div> ausgeblendet wird.
Wenn Du hingegen - wie Rouven ja bereits vorschlug - direkt nach dem <div> ein kleines Stückchen Javascript-Code integrierst, das direkt dieses <div> wieder ausblendet, sollte es gar nicht erst erscheinen:
[...]
<body>
<div id="foobar">blafasellaber</div>
<script type="text/javascript">
[code lang=javascript]document.getElementById('foobar').style.display = 'none';
</script>
[...][/code]
Du plenkst übrigens.
Nicht immer, nur hin und wieder am Satzende ! (Satzende! schau ja wohl doof aus ;o)
Nein, tut es nicht (Du siehst, über Geschmack lässt sich trefflich streiten, weswegen man in Fällen der Typographie auch nicht nach dem persönlichen Gusto, sondern nach allgemeinen Regeln richten sollte - insbesondere, wenn diese sinnvoll sind, da sie Unsauberkeiten eliminieren und die Leserlichkeit des Textes erhöhen). Außerdem ist es korrekte deutsche Typographie. Und übrigens bezieht sich das "plenken" auf Satzenden ... aber das steht ja auch in dem verlinkten Artikel.
MfG,
EKKi
Hallo,
Du könntest dem DIV-Element auch direkt per CSS die Eigenschaft zuweisen - dann ist es von Anfang an unsichtbar.
Grüße Basti
Hi,
Du könntest dem DIV-Element auch direkt per CSS die Eigenschaft zuweisen
Ja, sofern er das mit JS macht. Ansonsten ist es wohl weitgehend sinnfrei ... :)
Gruß, Cybaer
Hallo,
Ja, sofern er das mit JS macht. Ansonsten ist es wohl weitgehend sinnfrei ... :)
Hm, wenn das DIV gar nicht erscheinen soll, soll es ja wahrscheinlich später per JavaScript eingeblendet werden. Also spricht nichts dagegen, die visibility="hidden"-Eigenschaft direkt im CSS-File zu notieren.
Grüße Basti
Hello,
Hm, wenn das DIV gar nicht erscheinen soll, soll es ja wahrscheinlich später per JavaScript eingeblendet werden. Also spricht nichts dagegen, die visibility="hidden"-Eigenschaft direkt im CSS-File zu notieren.
wie genau hast du das Ausgangsposting gelesen? Dort geht es um ein DIV, das anzeigt, dass JavaScript deaktiviert, zur Nutzung der Seite aber erforderlich ist. Welchen Sinn würde es machen dieses einzublenden, wenn JavaScript aktiv ist?
MfG
Rouven
Hi,
<!-- Wenn Javascript ausgeschaltet ist, zeige die Fehlermeldung an -->
<div id="java_not_activated">
<h2> Fehler ! </h2>
<p> Sie haben JavaScript <strong>deaktiviert.</strong> Um die Seite korrekt darzustellen,
aktivieren Sie bitte Java Script.
</p>
</div>
warum hampelst Du da nur so mit CSS rum, anstatt die Meldung in das genau dafür vorgesehene Element <noscript> zu setzen?
freundliche Grüße
Ingo
warum hampelst Du da nur so mit CSS rum, anstatt die Meldung in das genau dafür vorgesehene Element <noscript> zu setzen?
ich frage mich eher, was die korrekte darstellung einer seite mit aktiviertem javascript zu tun haben soll - bisher dachte ich, für die darstellung ist css verantwortlich :D
und weil wir grade dabei sind, ein paar negativbeispiele: http://derstandard.at/ bitte mal ohne javascript aufrufen, das schindet echt eindruck bei einer renomierten, großen zeitschrift ;) - ebenso http://krone.at - die hälfte der links funktioniert nicht ohne javascript (das ist traurig für die großte tageszeitung österreichs, auch wenns ein schundblatt ist)