Diskuze: Časovač
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Prostě uděláš kód tak aby každou sekundu odečítal hodnotu z SEKUNDY, pokud bude nula, SEKUNDY nastavíš na 60 a MINUTY o 1 méně, obdobně tak i hodiny.
Změna času tedy nebude problém, jen změníš hodnotu SEKUND, MINUT, HODIN v tom tvém kruhu....
Časovač tedy musí pracovat s hodnotami v kruhu.
Od toho je funkce setInterval. Není spíš problém v získání, kolik zbývá času?
Protože když přímo napíšu kolik se má odpočítavat, tak to funguje.
Děkuji
Místo toho, abys předal funkci count, ji rovnou zavoláš a zaregistruješ jako událost číslo, které to vrátí. Funkce v JS můžeš předat normálně jako argument.
var handler = function() {};
$('selektor').click(handler);
nestačí pro to obyčejný setTimeout a clearTimeout?
http://jsfiddle.net/Vvtp7/3/
Nějak takhle? Teď ale nezačne počítat samo a navíc tam vzniknou naprosto
zvláštní hodnoty pro odpočet.
Ukážeš prosím příklad?
Nějak mi není jasný, jak bych ho měl v této příležitosti použít.
BTW: Opravdu nechápu, proč mi někdo dal mínus. Jsme snad v diskusi o JS a já se normálně zeptal..
Jednoduchá stránka v HTML s inputem:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<input type="text" id="vstupniPole"/>
<script src="timer.js"></script>
</body>
</html>
timer.js pak bude vypadat následovně:
console.log("Odpočet zahájen")
var interval = setTimeout(function () {
alert("Konec!!! ");
console.log("Odpočet skončil")
}, 5000)
input = document.getElementById("vstupniPole");
input.oninput = function myfunction() {
if (input.value != "") {
clearTimeout(interval);
console.log("Odpočet zrušen")
}
}
Pokud to potřebuješ vypisovat do HTML, tak si nastavíš interval na 1s ve kterém budeš pokaždé vypisovat zbývající čas, tak že si deklaruješ proměnou (třeba ticks) a tu budeš v každém kroku inkrementovat a následně vypisovat.
Zobrazeno 9 zpráv z 9.