Autor | Zpráva | ||
---|---|---|---|
Sylar Profil |
#1 · Zasláno: 15. 1. 2010, 02:26:46
Zdravím,
mám takovýto script function zbyvaDoOdhlaseni() { var hod = document.getElementById('hodiny'); var min = 20; var sec = 00; setCookie("log_in", true, min, '/', '', ''); var timer = window.setInterval( function() { if (min < 5) hod.style.color = "#f00"; hod.innerHTML = (min < 10 ? "0" + min : min) + " : " + (sec < 10 ? "0" + sec : sec); if (min == 0 && sec == 0) { clearInterval(timer); window.location.href = '/-/?logout'; // hod.innerHTML = "Odhlášen"; break; } if (sec == 0) { min--; sec = 59; } else { sec--; } }, 1000); } Ohlašuje automaticky uživatele po 20 přesměrování na adresu /-/?logout kde je php script pro odhlášení. Script se spouští automaticky akcí onload u <body> . To co chci udělat je, aby měl uživatel možnost interval (těch 20 minut) prodloužit když najede nad prvek kde časomíra běží. Dal jsem tomu prvku akci onmouseover="ZbyvaDoOdhlaseni();" a funguje to ALE ten script běží stále i z původního onload z <body> . V praxi to tedy vypadá tak že tam přes sebe skáčou tyto dva časy, pokud přejedu znova nad prvek s časomírou, skáčou tam tři atd atd. O co se snažím, je udělat to tak, aby se script z počátku sám vyresetoval a poté znovu nastavil. Lze to nějak udělat ? to resetování a následné spuštění by mělo asi být ještě před var hod Předem děkuji za nápady a podněty jak problém vyřešit |
||
siginigin Profil * |
#2 · Zasláno: 15. 1. 2010, 09:59:47
skus dat timer ako globalnu premennu. za zaciatku funkcie ZbyvaDoOdhlaseni() { timer = null; a potom timer = windows.setInterval(...
problem bude asi v tom ze pri kazdom onmouseover sa ti vyrobi novy timer, ktory potom bezi samostatne... |
||
Sylar Profil |
#3 · Zasláno: 15. 1. 2010, 23:58:48
siginigin:
okey super dal jsem timer jako globální ale místo timer = null; jsem tam hodil clearInterval(timer); a s tím to funguje, takže pohoda :-) díky moc |
||
Časová prodleva: 14 let
|
0