Dennis: über ein button id sichtbar machen

Beitrag lesen

Hi über,

setTimeout('weg()',0000);

function weg() {
document.getElementById("content1").style.display = "block";
}

Was willst du damit bezwecken? Zu dem Zeitpunkt wo der Timeout aufgerufen wird, ist die Funktion doch noch gar nicht definiert, du müsstest also den Timeout nach der Funktion schreiben.

Wenn du allerdings gar keine Zeitverzögerung willst, warum nutzt du dann überhaupt einen Timeout? Schreib doch einfach direkt in eine Zeile nach der Definition der Funktion:

weg();

Oder lasse gleich die ganze Funktion weg und schreibe direkt den Code hin, der ausgeführt werden soll.

Soweit die Theorie, allerdings wird alles nicht funktionieren, da zum Zeitpunkt wo dieser Javascript Code ausgeführt wird das Element mit der ID "content1" noch gar nicht existiert. Du müsstest also entweder das Javascript nach unten, also hinter das Element verschieben, oder den Aufruf der Funktion so gestalten:

window.onLoad = weg;

<div id="content1" style="display:none; width:320px; height:240px">Hier ist das erste Kapitel</div>

Da du aber anscheinend eh mit PHP arbeitest, frage ich mich, warum du nicht mit PHP die Fallunterscheidung einbaust und warum du dich auf so eine unsichere Technik wie Javascript verlassen willst.

Was spricht gegen:

<?php  
$display = (isset($_GET['start2'])) ? "display:block;" : "display:none";  
?>

Und weiter unten:

<div id="content1" style="[code lang=php]<?php echo $display; ?> width:320px; height:240px">Hier ist das erste Kapitel</div>[/code]

Dann sollte das auch auf jeden Fall funktionieren und nicht davon abhängig sein, ob der User Javascript aktiviert hat oder nicht - insbesondere wenn es um die vermittlung von Inhalten geht, solltest du dich nicht auf eine Technik verlassen, die deaktiviert sein kann.

MfG, Dennis.

--
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Man sollte nie aufhören zu fragen (Alber Einstein)
... aber natürlich erst, nachdem man sämliche FAQ's und Archive durchgelesen hat :-P