Nová ukázka
Reset
Načíst z URL
Uložit a získat odkaz
Vztahuje se k…
Nevyplňujte
Napiště „nejsem robot“
▶
Přepnout zobrazení
Výsledek
HTML
Autoformát
Standardní režim
Mobilní zobrazení
CSS
Autoformát
CSS reset
Až na konci
// zadefinujeme si pravidla pro počítání s časem var multiples = [ {'name' : 'milliseconds', 'range' : 1000, 'unit' : 'ms' }, {'name' : 'seconds', 'range' : 60, 'unit' : 's' }, {'name' : 'minutes', 'range' : 60, 'unit' : 'm' }, {'name' : 'hours', 'range' : 24, 'unit' : 'h' }, {'name' : 'days', 'range' : 7, 'unit' : 'd' }, {'name' : 'weeks', 'range' : 10000000, 'unit' : 'w' } ]; // funkce na výpočet zbývajícího času // vrací objekt s vlastnostmi pojmenovanými 'milliseconds', ... function restTime(target) { // pokud je argument řetězec, převedeme jej na datum if (typeof target == 'string') { target = new Date(target); } today = new Date(); // rozdíl datumů jako počet milisekund var rest = target - today; var date = {}; // pokud je rozdíl záporný, převedeme na kladné číslo a poznamenáme znaménko if (rest < 0) { date.sign = '-'; rest = -rest; } else { date.sign = '+'; } // budeme postupně dělit, dokud je rozdíl větší než nula for (var i = 0; i < multiples.length; i++) { if (rest == 0) { return date; } // napřed zjistit zbytek po dělení date[multiples[i].name] = rest % multiples[i].range; // a pak vydělit celočíselně rest = Math.floor(rest / multiples[i].range); } return date; } // vezme objekt z funkce restTime a vrátí řetězec function formatRestTime(rest) { var str = ''; // pro jednotlivé časově položky, dokud existují for (var i = 0; i < multiples.length && typeof rest[multiples[i].name] != 'undefined'; i++) { // přidáme na začátek hodnotu, jednotku a mezeru, pokud není první str = rest[multiples[i].name] + multiples[i].unit + (str.length > 0 ? ' ': '') + str; } return str; } // ukázka použití alert(formatRestTime(restTime('august 27, 2015, 16:25:00')));
J
ava
S
cript
Autoformát
jQuery
Umístění JS
window.onload
</head>
</body>