div bleibt nicht sichtbar

rotmilan

Mitglied
Guten Abend,

ich möchte über ein Button die Sichtbarkeit und Bleibezeit regeln, wobei manche divs nur per Button beendet werden können andere aber auch per Zeit verschwinden.

Bei diesem Versuch wird durch ein klick der erste div herbeigeführt, welcher nach zwei Sekunden oder per Klick verschwindet, nur weiss ich noch nicht wie ich in ein Timeout zwei Funktionen aufrufen kann?

Und das zweite Problem beläuf sich darauf, dass der zweite div durch weiter klicken nicht stehen bleibt.

Code:
<html>
<body>
<?
print_r($_GET);

if(isset($_GET['start1']))
{
?>
<script language="JavaScript" type="text/javascript">
<!--
setTimeout('wega()',0000);
function wega(){
document.getElementById("content1").style.display = "block";
}
//-->
</script>
<?
}
?>

<script language="JavaScript" type="text/javascript">
<!--
function da() {
clearTimeout(wegg);
document.getElementById("content2").style.display = "block";
}
//-->
</script>

<form action="stopgo.php" method="GET">
<input type="submit" name="start1" value="weiter">
</form>

<div id="content1" style="display:none"; width:320px; height:240px">Hier ist das erste Kapitel
<script language="JavaScript" type="text/javascript">
<!--
wegg = setTimeout('weg()',2000);

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


//-->
</script>


<form action="stopgo.php" method="GET">
<input type="submit" name="start2" value="weiter" onclick="da()">
</form>
</div>

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

</body>
</html>

ich werde noch versuchen alles über ein Button laufen zu lassen, aber zunächst brauche ich wohl hilfe bei dieser Sache.

mfg rotmilan
 
Mmh, also wenn du mal ein wenig konkreter beschreiben würdest, was du eigentlich willst, dann könnte man dir sicherlich helfen. Dein Skript sieht einfach nur selten dämlich aus! Du kannst doch einem Submit-Button keinen EventHandler geben. Die Funktion da() wird nie aufgerufen!
 
@HUBBLE: immer schön ruhig... ich wüsste zum Einen nicht, was an diesem Code dämlich aussieht, zum Anderen nicht, warum man in einem Submit-Button keinen Eventhandler notieren darf.... man kann in jedem Element einen Eventhandler notieren.
Dämlich ist für mich nur dein Statement, hoffentlich bleibt Selbiges auch selten.

@rotmilan
Was den ersten Teil der Frage betrifft:
Code:
window.setTimeout('funktion1();funktion2()',1000);
mehrere Anweisungen(Funktionsaufrufe) also durch Semikola getrennt notieren.

Was den 2. Teil der Frage betrifft... da bin ich grad zu müde zu... schau ich mir morgen mal an ;)
 
Ich hab mir das jetzt mal angeschaut und werd nicht schlau draus, was du da vorhast.
Könntest du bitte mal genau erläutern, was passieren soll....
  • beim Laden der Seite
  • beim Klick auf den ersten Button
  • beim Klick auf den zweiten Button
 
hi,

@Sven: das soll eigentlich die Weiterentwicklung von dem test werden zudem du mir schon geholfen hast.
Nur werden die Themen nicht einfach nacheinander gezeigt, sondern vor jedem Thema kommt noch eine Anleitung und dann ein oder zwei Aufgabenblöcke.
Pro Aufgabenblock eine bestimmte Zeit.

also nachdem jemand seine Daten eingegeben hat landet er auf einer Seite wo eine Anleitung steht, durch klicken auf ein weiter - Button soll der erste Aufgabenblock kommen, der durch ein Button oder nach Zeitablauf zum nächsten Aufgabenblock führt, oder zur nächsten Anleitung die nicht Zeitbegrentzt ist.

Die Anleitungen unterliegen also keiner Zeitbeschränkung.

mfg rotmilan
 
Hallo, rotmilan.....

versuche bitte mal, dich in meine Situation zu versetzen.
Lese dein letztes Posting mal durch, und tu so, all würdest du nicht wissen, worum es geht.

Wieviel von dem, was du da geschrieben hast, hättest du verstanden?
(Tut mir leid... aber anhand meiner Beitragszahl lässt sich vielleicht erahnen, dass ich nicht alle Probleme, bei denen ich hier bisher hilfreich sein konnte, im Kurzeitgedächtnis habe :-()
 
hi,

also ich versuch mich mal deutlich auszudrücken.

es handelt sich um ein test in dem mehrer Themen nacheinander rankommen.
Jedes Thema hat eine Anleitung und ein oder zwei Abschnitte mit Aufgaben.
Jede Anleitung und jeder Aufgabenabschnitt befindet sich jeweils in einem id gekennzeichnetem div.
Die Anleitungen sollen nur durch ein button weggeklickt werden, also das id mit der entsprechenden Anleitung auf none gesetzt werden und zugleich das div mit den Aufgaben auf block gesetzt werden. Die Aufgabenteile sind aber Zeitbeschränkt, sodass sie auch ohne Betätigen des weiter - Button entweder zum nächsten Aufgabenteil oder zur nächsten Anleitung kommt.

ich hoffe das es jetzt klar geworden ist, falls noch irgendetwas unklar sein sollte schreibe ich es gerne noch auf.

mfg rotmilan
 
Und welche Rolle soll dabei "stopgo.php" spielen?
Wenn deine Sachen nach Buttonklick weg sind, liegt das schlicht daran, dass das Formular gesendet wird.

Vielleicht nimmst du statt eines Submit-Buttons mal einen normalen.:confused:
 
ich werde wohl ein normalen Button nehmen und bei onclick auf die entsprechende Funktion verweisen.
Ich war da wohl zu sehr daran gewöhnt mit if isset $_GET herrauszubekommen was aktuell ist!

bis dann rotmilan
 
läuft jetzt schon besser nur weiss ich nicht was ich machen muss damit ein Timeout innerhalb eines divs nur gestartet wird wenn der sichtbar wird.

momentan sieht das so aus:
Code:
<div id ="content2" style="display:none"; width:320px; height:240px">Hier ist das erste Kapitel
<script language="JavaScript" type="text/javascript">
<!-- 
 erste = setTimeout('weg()',4000);

function weg() {
document.getElementById("content2").style.display = "none";
document.getElementById("content3").style.display = "block";
}
//-->
</script>

der Timeout wird halt einfach gestartet ohne das der div sichtbar ist.

mfg rotmilan
 

Neue Beiträge

Zurück