Thema: Online Counter

Moin moin!

Ich habe folgendes Problem. Ich hab mir grad eben einen ONline Counter gecodet. Nun überleg ich wie ich es schaffe, dass der online Counter bei klick auf "aktualisieren" nicht wieder von vorne beginnt zu zählen sondern neu startet!?

Hier der Code für meinen Counter:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title> Aufenthaltazeit</title>

<script language="javaScript">

<!--

var Jetzt = new Date ();

var Start = Jetzt.getTime();

function ZeitBerechnen ()

{

   var Immernoch = new Date ();

   return ((Immernoch.getTime() - Start)/1000);

}

function ZeitAnzeigen()

{

   var absSekunden = Math.round(ZeitBerechnen());

   var relSekunden = absSekunden % 60;

   var absMinuten = Math.round((absSekunden-30)/60);

 
   if (relSekunden > 9)

   var anzSekunden = relSekunden;

   else var anzSekunden = "0" + relSekunden;

 

   if (absMinuten > 9)

   var anzMinuten = absMinuten;

   else var anzMinuten= "0" + absMinuten;

   window.document.Anzeige.Zeit.value = anzMinuten + ":" + anzSekunden;

   window.setTimeout ("ZeitAnzeigen()",1000);

}

//-->

</script>

<style type="text/css">
<!--
body,td,th {
    font-size: 10px;
}
-->
</style></head>



<body bgcolor="" onLoad="window.setTimeout('ZeitAnzeigen()',1000)">



<form name="Anzeige">

<input  size=3 name="Zeit" >

</form>

</body>

</html>

Habt Ihr vllt einen Tip für mich? Ich wäre Euch "sehr" dankbar!

Gruß Soleyl

2

Re: Online Counter

Wenn du die Variable Start in einem Cookie speicherst, sollte es dann immer von der ersten Zeit an weiter zählen. Beim ersten Aufruf muss sich das Script die Variable über getTime holen und in einem Cookie speichern. Ab dem zweiten Aufruf holt sich das Script dann die alte Zeit aus dem Cookie. Musst nur eine Abfrage einbauen, ob dass Cookie gesetzt ist.

Dino

Ceterum censeo Ameriginem esse delendam.

3

Re: Online Counter

Moin,

eine andre Möglichkeit ist:

<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
<title>Aufenthaltszeit</title>
<script type='text/javascript'>

var z = this.name || 0,
    C = function( c ){ return ( c = Math.floor( c ) ) > 9 ? c : '0' + c }

onload = function(){ setInterval( function(){ document.A.Z.value =
                                              [ C( ( ( this.name = ++z )/3600 )%24 ),
                                                C( ( z/60 )%60 ),
                                                C( z%60 ) ].join( ' : ' ) }, 1000 ) }
</script>
</head>
<body>
<form name=A>
<div style='position:fixed;top:10px;width:1px;'>
<input name=Z size=12 style='text-align:center'>
</div>
</form>
</body>
</html>

Das div mit seinen eigenartigen style-Angaben ist bloß für ältere netscapes, die
text-align in einem input-tag mit dem align-Attribut verwechseln.

gruß

matho