Witam. Znalazłem skrypt, który pokazuje czas spędzony na stronie w sekunach:
linkNiestety. Bardzo zależy mi na formacie HH:MM:SS. Znalazłem do tego formułkę:
function secondsToHms(d)
{
d = Number(d);
var h = Math.floor(d / 3600);
var m = Math.floor(d % 3600 / 60);
var s = Math.floor(d % 3600 % 60);
return ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s);
}
ale sam nie potrafię... próbowałem na wiele sposobów, ale za każdym razem dostawałem "w zamian" pusty input.
Proszę o pomoc i narazie
edit: Śmiało.. trzeba zmienić chyba 3 linijki
edit 2: Kurcze, czas mija, a bardzo zależy mi na tym skrypcie..
Nie wygląda na skomplikowany, ale w związku z tym, że nie siedzę w środowisku JS nie potrafię dodać formułki do skryptu.. Wkleiłem ją tylko. Zobaczcie sami, że to o co proszę, nie wymaga przelania litrów potu:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> <meta http-equiv="content-language" content="pl"> <body onLoad="window.setTimeout('getSecs()',1)"> startday = new Date();
clockStart = startday.getTime();
function initStopwatch()
{
var myTime = new Date();
var timeNow = myTime.getTime();
var timeDiff = timeNow - clockStart;
this.diffSecs = timeDiff/1000;
return(this.diffSecs);
}
function getSecs()
{
var mySecs = initStopwatch();
var mySecs1 = ""+mySecs;
mySecs1= mySecs1.substring(0,mySecs1.indexOf("."));
document.tijd.hiero.value=mySecs1
window.setTimeout('getSecs()',1000);
if (mySecs1==60) {alert("60 sekund ...") }
}
function secondsToHms(d) //sekundy na hh:mm:ss
{
d = Number(d);
var h = Math.floor(d / 3600);
var m = Math.floor(d % 3600 / 60);
var s = Math.floor(d % 3600 % 60);
return ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s);
}
<input size="8" name="hiero">
To cały kod, ani litery więcej
Ten post edytował lubiemdziem 19.08.2012, 11:37:00