Секунды в минуты
Имеется скрипт:
<script type="text/javascript"> var timer; function start_timer() { if (timer) clearInterval(timer); secs = 0; document.getElementById('timer').innerHTML = secs + ' сек.'; timer = setInterval( function () { secs++; document.getElementById('timer').innerHTML = + secs + ' сек.'; }, 1000 ); } </script> <div id="timer"></div> <form method="post"> <select> <option>Начало</option> <option>Окончание</option> </select> <input type="submit" value="Сохранить" class="button" onclick="start_timer()" /> </form> 1. Как переводить секунды в минуты, а минуты в часы? Сейчас всегда секунды. 2. При нажатии на submit секунды появляются и исчезают 3. Чтобы при перезагрузке страницы время не сбрасывалось, это уже ajax? Если да, то много нужно писать? |
SLameN,
а тонны таймеров на форуме вас неустраивают? посмотрите как они сделаны |
Да, но проблема же не только в этом :( Вот например я взял ваш пример :)
<script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(function () { var timers, ret; $(":button") .click(function () { $(this) .val("\u25b6" == $(this) .val()? "\u25fc": "\u25b6") .prev() .data( { timer: (new Date) .getTime() } ) .toggleClass("timer"); timers = $(".timer"); timers.size() && Timer() } ); function two(a) { return (9 < a? "": "0") + a } function formatTime(a) { a = Math.floor(a / 1E3); var b = Math.floor(a / 60), c = Math.floor(b / 60); a %= 60; b %= 60; return two(c) + " : " + two(b) + " : " + two(a) } function Timer() { window.clearTimeout(ret); timers.each(function (a, b) { var c = (new Date) .getTime() - $(b) .data("timer") | 0, c = formatTime(c); $(b) .html(c) } ); timers.size() && (ret = window.setTimeout(Timer, 1000)) }; } ); </script> <div id="timer">00 : 00 : 00</div> <form method="post"> <select> <option>Начало</option> <option>Окончание</option> </select> <input type="submit" value="Сохранить" class="button" /> </form> 1. Как заставить работать таймер по кнопке submit? 2. Как время выводить в блок - timer 3. Как сделать ajax, перезагрузка страницы не сбивала таймер |
SLameN,
1.2 <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(function () { var timers, ret; $(".button") .click(function () { var go = $("select").val() == "Начало" ; $("#timer") .data( { timer: (new Date) .getTime() } ) [(go ? "add" : "remove") + "Class"]("timer"); timers = $(".timer"); timers.size() && Timer() } ); function two(a) { return (9 < a? "": "0") + a } function formatTime(a) { a = Math.floor(a / 1E3); var b = Math.floor(a / 60), c = Math.floor(b / 60); a %= 60; b %= 60; return two(c) + " : " + two(b) + " : " + two(a) } function Timer() { window.clearTimeout(ret); timers.each(function (a, b) { var c = (new Date) .getTime() - $(b) .data("timer") | 0, c = formatTime(c); $(b) .html(c) } ); timers.size() && (ret = window.setTimeout(Timer, 1000)) }; } ); </script> </head> <body> <div id="timer">00 : 00 : 00</div> <form method="post" onsubmit="return false"> <select> <option>Начало</option> <option>Окончание</option> </select> <input type="submit" value="Сохранить" class="button" /> </form> </body> </html> 3. ищите таймер с сохранением -- такие тоже есть на форуме |
Часовой пояс GMT +3, время: 21:25. |