Avatar billede Slettet bruger
04. maj 2006 - 11:13 Der er 6 kommentarer og
1 løsning

Køre funktion hvis ikke brugeren klikker på siden indenfor XX sek

Hej

Jeg har en funktion der skal køres efter 5 sekunder hvis ikke brugeren klikker på siden. Når brugeren klikker på siden skal der igen gå 5 sekunder og sådan fortsætter det.

Med andre ord, klikker brugeren ikke mindst hvert 5 sekund skal han logges ud (funktionskald).

Nogen der har en ide? Jeg har forsøgt mig med noget setTimeout, men kan ikke helt regne ud hvordan jeg "nulstiller" tiden når man klikker på siden.
Avatar billede fennec Nybegynder
04. maj 2006 - 11:22 #1
Der kan du bruge clearTimeout:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
var timID = window.setTimeout("..Funktion..",5000)

function nulstil()
{
    window.clearTimeout(timID)
    timID = window.setTimeout("..Funktion..",5000)
}
//-->
</SCRIPT>

Hvordan du fanger onClick på hele siden er jeg ikke helt klar over, for jeg ved ikke om det er nok at have den på <body>
Avatar billede Slettet bruger
04. maj 2006 - 11:30 #2
Min idé er at starte funktionen med on onLoad="" og fange klikkene med onClick=""

Tester lige dit forslag af :)
Avatar billede Slettet bruger
04. maj 2006 - 11:41 #3
Jeg fik det her til at virke:

<html>
<head>
<title></title>

<script>
<!--
function myAlert() {
alert('test');
}

function myStart() {
timID = window.setTimeout("myAlert()",5000);
}

function nulstil() {
window.clearTimeout(timID);
timID = window.setTimeout("myAlert()",5000);
}
//-->
</script>

</head>
<body onload="myStart()" onclick="nulstil()">
<button onclick="nulstil()">Klik mig</button>
</body>
</html>
Avatar billede Slettet bruger
04. maj 2006 - 11:48 #4
Så hvis du lægger et svar :)
Avatar billede fennec Nybegynder
04. maj 2006 - 11:49 #5
Du kan med fordel kalde myStart() fra nulstil() så du ikke skal vedligeholde 2 setTimeout kald:

function myStart() {
  timID = window.setTimeout("myAlert()",5000);
}

function nulstil() {
  window.clearTimeout(timID);
  myStart()
}
Avatar billede fennec Nybegynder
04. maj 2006 - 11:49 #6
og et svar...
.o) <-- One Eyed Jack
Avatar billede Slettet bruger
04. maj 2006 - 12:00 #7
.oO(Spank you)


Ej tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester