Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Допилить Таймер обратного отсчета (https://javascript.ru/forum/dom-window/39154-dopilit-tajjmer-obratnogo-otscheta.html)

Яков Соломоныч 18.06.2013 10:30

Допилить Таймер обратного отсчета
 
Ребят помогите дописать таймер чтоб при обновлении страницы он не начинал сначала. Знаю что тем таких море, но я просто не знакок JS но скрипт данный просто архи нужен. Буду огромнейше благодарен:cray:

var timer = 600;
function s24 (x)
{
function ad0 (x) {return ((x < 10) ? '0' : '') + x}
var ms = x % 3600, h = (x - ms) / 3600, s = ms % 60, m = (ms - s) / 60;
return [ad0 (h), ad0 (m), ad0 (s)].join (':');
}
onload = function ()
{
document.getElementById ('timer').innerHTML = s24 (timer);
TMR = setInterval (function ()
{
if (!timer) {clearInterval (TMR); return}
document.getElementById ('timer').innerHTML = s24 (--timer);
}, 1000);
}
</script>
<span id = "timer"> </span>

ksa 18.06.2013 10:45

Цитата:

Сообщение от Яков Соломоныч
чтоб при обновлении страницы он не начинал сначала

Для этого скрипт должен "знать", что ему этого делать не нужно...

Solonik 18.06.2013 12:28

Попробуйте реализовать через куки например. Записывайте ему в куку пользовтелю заход.

Яков Соломоныч 18.06.2013 19:04

Цитата:

Сообщение от ksa (Сообщение 256935)
Для этого скрипт должен "знать", что ему этого делать не нужно...

А как ему это объяснить? Знаю, я нуб))

Яков Соломоныч 18.06.2013 19:20

Цитата:

Сообщение от nasqad (Сообщение 257073)
Нет вы не нуб вы врунишка, назовите то что вы называете архи важной причиной

Ну я имею ввиду что мне нужен скрипт таймера отсчета времени с первичной переменной в секундах. А отображающий в итоге всё по полочкам часы:минуты:секунды. Вот нашел такой скрипт он идеально подходит мне НО при обновлении страницы он по новой начинает считать. нужен чистый js(В смысле php Не катируется) А js я сам не знаю, поэтому не знаю как сохранить значения например в сессии и подобное=((( В гугле нашел множество скриптов но они все навароченные всякими визуальными отображениями (типо картиночных и прочее)а нужен именно тупо банальный цифровой в добрых традициях старины:(

Яков Соломоныч 18.06.2013 19:39

Поэтому и прошу помочь допилить сюда что-то, что позволяло бы не запускать его по новой при submit =(

dmitriymar 18.06.2013 19:49

Здравствуйте!

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.

Яков Соломоныч 18.06.2013 20:30

Рад бы но времени нет совершенно для изучения. В этом и беда.
Нашел что то про куки, точнее их использование для хранения

/**
* cookieName - имя cookie
* cookieContent - что записываем
* cookieExpireTime - сколько времени будут жить cookie в часах. Если 0 - то помрут вместе с закрытием браузера.
*/
function setCookie(cookieName, cookieContent, cookieExpireTime){
if(cookieExpireTime>0){
var expDate=new Date();
expDate.setTime(expDate.getTime()+cookieExpireTime *1000*60*60);
var expires=expDate.toGMTString();
document.cookie=cookieName+"="+escape(cookieConten t)+"; path="+escape('/')+"; expires="+expires;
}else{
document.cookie=cookieName+"="+escape(cookieConten t)+"; path="+escape('/')+"";
}
}

function getCookie(cookieName){
var ourCookie=document.cookie;
if(!ourCookie || ourCookie=="")return "";
ourCookie=ourCookie.split(";");
var i=0;
var Cookie;
while(i<ourCookie.length){
Cookie=ourCookie[i].split("=")[0];
if(Cookie.charAt(0)==" ")
Cookie=Cookie.substring(1);
if (Cookie == cookieName){
var res = ourCookie[i].split('=')[1];
return (typeof res != 'undefined') ? unescape(res) : '';
}
i++;
}
return "";
}


Но куда засунуть в вышеуказанном скрипте не знаю :( А по поводу не понимания - скрипт тот на 70% где то понимаю что как происходит.

ksa 19.06.2013 08:21

Цитата:

Сообщение от Яков Соломоныч
А как ему это объяснить?

Клиентский язык имеет не много вариантов...
- Куки
- Хеш

Но отловить событие "перезагрузка страницы" не совсем простая задача...

Яков Соломоныч 19.06.2013 14:19

Цитата:

Сообщение от ksa (Сообщение 257129)
Клиентский язык имеет не много вариантов...
- Куки
- Хеш

Но отловить событие "перезагрузка страницы" не совсем простая задача...

Вот что странно. Нашел пару таймеров, создатели или репостеры которых утверждают, что при перезагрузке страницы они сохраняют свой счет, НО в коде не увидел конструкций куков например которые в документации нашел(то что выше скинул типа getcookies/setcookies) :-?


Часовой пояс GMT +3, время: 08:11.