[Javascript] Обратный отсчёт

Статус
В этой теме нельзя размещать новые ответы.

dig555

Постоялец
Регистрация
22 Июн 2007
Сообщения
365
Реакции
160
Товарищи! Помогите, пожалуйста, найти скрипт обратного отсчёта. Частенько на всяких там CAP'aх - скрывают ссылку на n секунд.
Вот и мне нужно что-то такое. Страница загрузилась - пользователю в лицо таймер: ссылка будет доступна через n секунд. И по истечению этих секунд - показать таки ему ссылочку, а пока пусть на рекламу пофтыкает :-]
 
Код:
var limit = 300; // в секундах

function processTimer(){

  if (limit > 0) {
    setTimeout("processTimer()",1000);
    limit--;
  } else {
    // здесь действия после завершения таймера
    //..
  }

  var limit_div = parseInt(limit/60); // минуты
  var limit_mod = limit - limit_div*60; // секунды
  
  // строка с оставшимся временем
  limit_str = "  ";
  if (limit_div < 10) limit_str = limit_str + "0";
  limit_str = limit_str + limit_div + ":";
  if (limit_mod < 10) limit_str = limit_str + "0";
  limit_str = limit_str + limit_mod + "&nbsp;&nbsp;";      
  
  // вывод времени
  el_timer = document.getElementById("timer");
  if (el_timer) el_timer.innerHTML = limit_str;
}

processTimer();
 
В этом коде есть один маленький недостаток, если в месте
} else {
// здесь действия после завершения таймера
//..
}
Тут вписать код показывающий ссылку, то юзеры данную фишку просекут, и будут эту ссылку выдирать тупо из html страницы, забивая на счетчик..
А так по хорошему надоб ajax заюзать, и на сервере тоже поставить интервал выдачи ссылки, тогда даже юзер будет знать где находится выдача, он все равно сможет увидеть ссылку по истечению какого-то времени.
 
Обратный отсчет по названию топика реализован, остальное дело топикастера, для серьезного проекта можно много чего наворотить, иначе - не стоит заморачиваться
 
В этом коде есть один маленький недостаток, если в месте

Тут вписать код показывающий ссылку, то юзеры данную фишку просекут, и будут эту ссылку выдирать тупо из html страницы, забивая на счетчик..
А так по хорошему надоб ajax заюзать, и на сервере тоже поставить интервал выдачи ссылки, тогда даже юзер будет знать где находится выдача, он все равно сможет увидеть ссылку по истечению какого-то времени.

А кто тебе запрещает сделать там запрос на сервер с помощью AJAX, а там уже проверить время со 100% точностью, чтобы некторые умные сами не едлали запрос.
 
Создал вот такую страничку вставил этот скрипт

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Документ Без Имени</title>
</head>

<body>
<script>
var limit = 300; // в секундах

function processTimer(){

  if (limit > 0) {
    setTimeout("processTimer()",1000);
    limit--;
  } else {
    // здесь действия после завершения таймера
    //..
  }

  var limit_div = parseInt(limit/60); // минуты
  var limit_mod = limit - limit_div*60; // секунды
  
  // строка с оставшимся временем
  limit_str = "&nbsp;&nbsp;";
  if (limit_div < 10) limit_str = limit_str + "0";
  limit_str = limit_str + limit_div + ":";
  if (limit_mod < 10) limit_str = limit_str + "0";
  limit_str = limit_str + limit_mod + "&nbsp;&nbsp;";      
  
  // вывод времени
  el_timer = document.getElementById("timer");
  if (el_timer) el_timer.innerHTML = limit_str;
}

processTimer();
</script>
</body>
</html>

Чёто у меня не выводит время с обратным отсчётом. Что тут не так?
 
Конечно, не выводит.
Скрипт показывает время в элементе с id="timer"
Добавь в <body>
PHP:
<div id="timer"></div>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху