Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.02.2013, 15:45
Интересующийся
Отправить личное сообщение для tavrik83 Посмотреть профиль Найти все сообщения от tavrik83
 
Регистрация: 27.08.2011
Сообщений: 12

Нужна помощь по доработке скрипта отсчета времени
Можно ли сделать так, чтобы счетчик считал только тогда, когда пользователь находится на странице (на активной вкладке браузера)?
Вот код:
<script language="Javascript">
x<?php echo $randcounter; ?>=<?php echo $downloadtimer; ?>;
function countdown() 
{
 if ((0 <= 100) || (0 > 0))
 {
  x<?php echo $randcounter; ?>--;
  if(x<?php echo $randcounter; ?> == 0)
  {
   document.getElementById("dl").innerHTML = '<a href="<?php echo $scripturl . "download2.php?a=" . $filecrc . "&b=" . md5($foundfile[2].$_SERVER['REMOTE_ADDR']) ?>">Download</a>';
  }
  if(x<?php echo $randcounter; ?> > 0)
  {
   document.getElementById("dl").innerHTML = 'Please wait <b>'+x<?php echo $randcounter; ?>+'</b> seconds...';
   setTimeout('countdown()',1000);
  }
 }
}
countdown();
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 27.02.2013, 16:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 32,274

tavrik83,
добавить переменную var a = true; в условие if(x<?php echo $randcounter; ?> > 0 && a == true)на запуск setTimeout а по window.onblur ставить в эту переменную a=false
Ответить с цитированием
  #3 (permalink)  
Старый 05.03.2013, 20:12
Интересующийся
Отправить личное сообщение для tavrik83 Посмотреть профиль Найти все сообщения от tavrik83
 
Регистрация: 27.08.2011
Сообщений: 12

Здорово! Вот если бы еще в виде кода...
Ответить с цитированием
  #4 (permalink)  
Старый 26.03.2013, 16:22
Интересующийся
Отправить личное сообщение для tavrik83 Посмотреть профиль Найти все сообщения от tavrik83
 
Регистрация: 27.08.2011
Сообщений: 12

Вобщем попробывал сделать, только осталась одна проблема: при возврате на страницу счетчик не размораживается, т.е. не продолжает отсчитывать время. Где ошибка?
<script language="Javascript">
var a = true;
x<?php echo $randcounter; ?>=<?php echo $downloadtimer; ?>;
function countdown() 
{
 if ((0 <= 100) || (0 > 0))
 {
  x<?php echo $randcounter; ?>--;
  if(x<?php echo $randcounter; ?> == 0)
  {
   document.getElementById("dl").innerHTML = '<a href="<?php echo $scripturl . "download2.php?a=" . $filecrc . "&b=" . md5($foundfile[2].$_SERVER['REMOTE_ADDR']) ?>">Download</a>';
  }
  if(x<?php echo $randcounter; ?> > 0 && a == true)
  {
   document.getElementById("dl").innerHTML = 'Please wait <b>'+x<?php echo $randcounter; ?>+'</b> seconds...';
   setTimeout('countdown()',1000);
   window.onblur = function(){a = false;}
   window.onfocus = function(){a = true;}
  }
 }
}
countdown();
</script>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Два скрипта конфликтуют. Нужна помощь! TaH4uk.pro jQuery 0 01.12.2012 18:47
Нужна помощь в оптимизации нагруженного скрипта antibot Элементы интерфейса 0 31.10.2011 15:45
Нужна помощь в оптимизации простого скрипта Vinbongun Javascript под браузер 3 14.03.2011 15:43
Случайный CSS при обновлении (нужна помощь в редактировании скрипта) xsfd Общие вопросы Javascript 1 13.03.2011 00:03
Нужна помощь в завершении скрипта - если конечно не трудно. Rush Общие вопросы Javascript 11 18.10.2008 14:06