Autor | Zpráva | ||
---|---|---|---|
Rararach Profil * |
#1 · Zasláno: 6. 2. 2018, 21:09:21
Zdravím a díky za pomoc.
Ne vždy se otevře poslední zaklinutý odkaz, proč? Myslím že není potřeba živou ukázku, protože v tom setTimeout(function() bude nějaká zákonitost kterou neznám ? <a href="javascript:return false" onclick="jedna()">chci odkaz JEDNA</a><br><br> <a href="javascript:return false" onclick="dva()">chci odkaz DVA</a><br><br> <a href="javascript:return false" onclick="tri()">chci odkaz TRI</a> <script> var jednahref; var dvahref; var trihref; function jedna(){ clearTimeout(dvahref); clearTimeout(trihref); jednahref = setTimeout(function(){window.location='jedna.htm';}, 4500);} function dva(){ clearTimeout(jednahref); clearTimeout(trihref); dvahref = setTimeout(function(){window.location='dva.htm';}, 4600);} function tri(){ clearTimeout(jednahref); clearTimeout(dvahref); trihref = setTimeout(function(){window.location='tri.htm';}, 4700);} </script> |
||
Radek9 Profil |
#2 · Zasláno: 6. 2. 2018, 21:25:37
Rararach:
Když dvakrát klikneš např. na jedna, tak ztrácíš referenci na ten první timeout a zároveň ho nikde neclearuješ. Proto pak nezáleží na tom, na co klikneš jako poslední. V tomhle případě tě to vždycky přesměruje na jedna. Proč radši neudělat jednu univerzální funkci s jedinou referencí na timeout? var redirectTimeout; function redirect(href, time) { clearInterval(redirectTimeout); redirectTimeout = setTimeout(function () { window.location = href; }, time); } <a href="javascript:void(0)" onclick="redirect('jedna.htm', 4500)">chci odkaz JEDNA</a><br><br> <a href="javascript:void(0)" onclick="redirect('dva.htm', 4600)">chci odkaz DVA</a><br><br> <a href="javascript:void(0)" onclick="redirect('tri.htm', 4700)">chci odkaz TRI</a> |
||
Časová prodleva: 6 let
|
0