Hallo Experten,
habe wenig Ahnung von Javascript. Habe folgendes von versch. Quellen zusammengebastelt:
(Es geht um Jugend Sportveranstaltungen - ich habe ein PC, womit Teilnehmer Information abrufen können)
Nach 5 Sekunden ohne Maus Bewegung wird automatisch zu eine andere Seite gesprungen:
<script language="JavaScript"><!--
function doit() {
timerRunning = false;
document.location.href="htmspiele.html#Teil2";
}
function microsoftMouseMove() {
if (window.event.x != document.test.x.value && window.event.y != document.test.y.value) {
if (timerRunning) {
clearTimeout(myTimer);
myTimer = setTimeout('doit()',5000);
}
document.test.x.value = window.event.x;
document.test.y.value = window.event.y;
}
}
var myTimer = setTimeout('doit()',5000); // invoke doit() after five seconds of mouse inactivity
var timerRunning = true;
//--></script>
sowie
<body onMousemove="microsoftMouseMove()">
sowie
<form name="test"><input type="hidden" name="x"><input type="hidden" name="y"></form>
Funktioniert wunderbar. Im Function doit gibt es der Befehl
document.location.href="htmspiele.html#Teil2";
D.h. er springt zu einem bestimmten Anker in einer bestimmten Datei.
Folgendes geht auch:
document.location.href="javascript:history.back();";
Dann geht er nach 5 Sekunden Maus-Inaktivität ‚zurück'.
Was ich mache möchte, aber nicht gebacken kriege, ist folgende Logik:
Wenn die letzte Seite htmspiel.html war, dann mach ein javascript:history.back(),
ansonsten sprung zu Anker #Teil2 in htmspiel.html
Anders ausgedruckt - wenn der Anwender von htmlspiele.html kam, dann möchte ich zurück AN DIE STELLE in htmspiele.html gehen, woher er kam (das macht javascript:history.back()) ansonsten zu #Teil2 in htmspiele.html
Folgendes geht nicht
function doit() {
timerRunning = false;
alan1="javascript:history.back();";
alan2 = alan1.indexOf("htmspiele.html");
if(alan2 = -1)
{
document.location.href="htmspiele.html#Teil2";
}
else
document.location.href="javascript:history.back();";
}
Weil in der variable alan1 nicht der Name der Seite wohin gegangen wird gespeichert ist, sondern die Zeichenkette "javascript:history.back();"
Wer hilft mir auf die Sprünge?
Danke
Alan Hathway