Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.09.2013, 14:55
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

В общем, условие задачи неполное. Наиболее логичная задача - выводить оставшееся время.
При запуске или получении страницей фокуса проверяем наличие кукиса. Если его нет:
- записываем кукис с временем старта
- начинаем отсчет
Если кукис есть:
- считываем кукис
- смотрим который сейчас час (дата)
- корректируем счетчик
- запускаем дальше
Если окно запущено и находится в фоне, нам ведь все равно, что там отображается в таймере, да? Пусть он там замедленно считает.
Ответить с цитированием
  #12 (permalink)  
Старый 30.09.2013, 14:56
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от ksa
А если жена с моего компа зайдет и увидит что "ей осталось 2 дня"?
Жену пускать за свой комп нельзя!
Равно как и полицию. Мало ли, что они решат, что отсчитывает таймер. Вызовут собак-миноискателей еще, прости Господи

Последний раз редактировалось BETEPAH, 30.09.2013 в 14:59.
Ответить с цитированием
  #13 (permalink)  
Старый 30.09.2013, 15:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

BETEPAH,
Ответить с цитированием
  #14 (permalink)  
Старый 30.09.2013, 15:27
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Вот, на всякий случай вытянул из своих сниппетов:
//проверка активна ли в настоящий момент вкладка браузера
var isActive = true;
function onBlur() {isActive = false;};
function onFocus() {isActive = true;};
if (/*@cc_on!@*/false) { // check for Internet Explorer
	document.onfocusin = onFocus;
	document.onfocusout = onBlur;
} else {
	window.onfocus = onFocus;
	window.onblur = onBlur;
}
Ответить с цитированием
  #15 (permalink)  
Старый 30.09.2013, 16:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

таймер до конца дня осталось или таймер на шестидневку
до 2 октября ... до 8 октября ... до 14 октября ...
<html>
<head>
<meta charset="utf-8" />
  <title></title>
</head>
<body><div id = 'show'></div>
<script type="text/javascript">
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),
        d = c / 24 | 0,
        c = c % 24;
    a %= 60;
    b %= 60;
    return d + " " + days(d) + " " + two(c) + " " + hours(c) + " " + two(b) + " " + minutes(b) + " " + two(a) + " " + seconds(a)
};

// функция для склонения слов ( (1)"день", (2)"дня", (5)"дней")

function plural(str1,str2,str5){
  return function ( n ) {return ((((n%10)==1)&&((n%100)!=11))?(str1):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(str2):(str5)))}
  }

var days =  plural('день', 'дня', 'дней'),
    hours = plural('час', 'часа', 'часов'),
    minutes = plural('минута', 'минуты', 'минут'),
    seconds = plural('секунда', 'секунды', 'секунд');

function Time() {
    var data = Date.parse('02/01/2014') // дата начала 1 шестидневки  строго "месяц/день/год"
    data = new Date(data);
    data.setMinutes((-180 - data.getTimezoneOffset()), 0, 0); //для коррекции   запустить в зоне акции alert((new Date).getTimezoneOffset()) и поменять число
    for (; (new Date).getTime() > data; )  {
    data.setDate(data.getDate()+6)//через сутки +1 , через 6 дней +6 
    }
    var a = data.getTime() -  (new Date).getTime();
    document.getElementById("show").innerHTML = "До " + data.toLocaleString() + " по Москве осталось: " + formatTime(a);
    window.setTimeout(Time, 1E3)
};
Time()
</script>
</body>
</html>

Последний раз редактировалось рони, 07.01.2016 в 01:22.
Ответить с цитированием
  #16 (permalink)  
Старый 16.11.2013, 14:10
Новичок на форуме
Отправить личное сообщение для eforce Посмотреть профиль Найти все сообщения от eforce
 
Регистрация: 15.11.2013
Сообщений: 9

Два дня искал такой код))) Спасибо величайшее Рони!!
Ответить с цитированием
  #17 (permalink)  
Старый 17.11.2013, 06:05
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

function plural(n,str1,str2,str5){
 var tst = (n%100); if(tst>20) tst =tst %10;
  if(!tst) return str5;
  if(tst==1) return str1;
  if(tst<5) return str2;
  if(tst>4) return str5;
}

Последний раз редактировалось Deff, 17.11.2013 в 06:13.
Ответить с цитированием
  #18 (permalink)  
Старый 03.03.2014, 14:57
Новичок на форуме
Отправить личное сообщение для Kasper28 Посмотреть профиль Найти все сообщения от Kasper28
 
Регистрация: 09.02.2014
Сообщений: 9

Рони, подскажите как в ваш код добавить элементам скрипта классы, чтобы можно было стили прописать
Ответить с цитированием
  #19 (permalink)  
Старый 03.03.2014, 15:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Kasper28,
нарисуйте свои элементы с классами
Ответить с цитированием
  #20 (permalink)  
Старый 03.03.2014, 15:17
Новичок на форуме
Отправить личное сообщение для Kasper28 Посмотреть профиль Найти все сообщения от Kasper28
 
Регистрация: 09.02.2014
Сообщений: 9

Что вы имеете ввиду "нарисуйте"?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Допилить Таймер обратного отсчета Яков Соломоныч Элементы интерфейса 11 19.06.2013 17:37
Таймер обратного отсчета на Alert moorzilla Общие вопросы Javascript 2 27.05.2012 22:14
Графический таймер обратного отсчета bobri4 Элементы интерфейса 4 24.08.2009 22:50
Таймер обратного отсчета Mihael-Vlz Общие вопросы Javascript 1 14.06.2009 19:21
таймер обратного отсчета Mignon Общие вопросы Javascript 1 07.06.2008 17:16