Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.12.2016, 17:58
Аспирант
Отправить личное сообщение для dantist433 Посмотреть профиль Найти все сообщения от dantist433
 
Регистрация: 21.02.2016
Сообщений: 37

обратный отчет без обновления страницы
Добрый день уважаемые форумчане.
в javascript новичек, поэтому прошу вашей помощи.
на странице имеется два счетчика
<script type="text/javascript">
function timer(){
 var obj=document.getElementById('timer_inp');
 obj.innerHTML--;
 
 if(obj.innerHTML==0){setTimeout(function(){},1000);}
 else{setTimeout(timer,1000);}
}
setTimeout(timer,1000);
</script>

<div id="timer_inp">10</div>

это скрипт первого счетчика, т.е. после завершения он ничего не делает.
как вывести сообщение - я в курсе.
Необходимо после завершения отчета времени запустить 2 отчет времени (кое что записать в БД) и сделать так что бы 1 отчет исчез, без обновления страницы.
И тут же 2 вопрос: для 2 обратного отчета подойдет ли этот же скрипт, только с такой записью
var obj=document.getElementById('timer_inp2');
Ответить с цитированием
  #2 (permalink)  
Старый 05.12.2016, 18:54
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

dantist433,
Сообщение от dantist433
Необходимо после завершения отчета времени запустить 2 отчет времени (кое что записать в БД) и сделать так что бы 1 отчет исчез, без обновления страницы.
А чем второй отсчет будет отличаться от первого? Зачем первому исчезать? Может, тот же снова установить и запустить заново?

И еще: Как вы собираетесь запускать запись в БД и второй отсчет?

Последний раз редактировалось Dilettante_Pro, 05.12.2016 в 18:58.
Ответить с цитированием
  #3 (permalink)  
Старый 05.12.2016, 19:05
Аспирант
Отправить личное сообщение для dantist433 Посмотреть профиль Найти все сообщения от dantist433
 
Регистрация: 21.02.2016
Сообщений: 37

Сообщение от Dilettante_Pro Посмотреть сообщение
А чем второй отсчет будет отличаться от первого? Зачем первому исчезать? Может, тот же снова установить и запустить заново?
ну можно и так, только как это реализовать?
смотри на сайте будет надписи:
1 - отчет -осталось 10 сек
2 - отчет -осталось 20 сек
3 - отчет-осталось 30 сек

при загрузке страницы начинает работать 1 отчет, остальные два остаются без изменения, но на странице показывается, после окончания отчета запускается 2 отчет времени, 3 показывается, 1 исчезает со страницы, ну и так далее.
просто не знаю как это сформулировать

Сообщение от Dilettante_Pro Посмотреть сообщение
И еще: Как вы собираетесь запускать запись в БД и второй отсчет?
я не знаю можно ли это сделать в javascripts, а так в php есть запись и хотелось бы после окончания отчета запустить ее
Ответить с цитированием
  #4 (permalink)  
Старый 06.12.2016, 08:08
Аспирант
Отправить личное сообщение для dantist433 Посмотреть профиль Найти все сообщения от dantist433
 
Регистрация: 21.02.2016
Сообщений: 37

Ну да, отсчет, с- через раз нажимается, сорян
Ответить с цитированием
  #5 (permalink)  
Старый 06.12.2016, 17:17
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<div id="timer_inp">10</div>
<div id="timer_inp1">5</div>
<div id="timer_inp2">10</div>
<script type="text/javascript">
function timer(elem_id){
 if(elem_id) { obj=document.getElementById(elem_id); }
 obj.innerHTML--;
 
 if(obj.innerHTML==0){setTimeout(function(){
      obj.style.display = 'none';
      if(i < arr.length - 1) { 
         i++;
         timer(arr[i].id);
      }
 },1000);}
 else{setTimeout(timer,1000);}
}
var arr = document.querySelectorAll('div'),
        i = 0;
timer(arr[i].id);
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 06.12.2016, 23:22
Аспирант
Отправить личное сообщение для dantist433 Посмотреть профиль Найти все сообщения от dantist433
 
Регистрация: 21.02.2016
Сообщений: 37

спасибо.
Теперь вопрос вот в чем
можно ли в div-ах вывести в виде часы:минуты:секунды - не надо ли для этого переписывать код
и 2 вопрос с записью в БД, после ого как закончился 1 отсчет необходимо записать в БД что нить.

Ну и лично от меня просьба, можно ли это сделать с комментариями - просто не хочется тупо копировать, хочется хоть немного представление иметь что делает каждая строчка, дабы не плодить тут миллионы тем, а попытаться самому разобраться
Ответить с цитированием
  #7 (permalink)  
Старый 07.12.2016, 11:21
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

dantist433,
Сообщение от dantist433
можно ли в div-ах вывести в виде часы:минуты:секунды - не надо ли для этого переписывать код
Можно. Нужно переписывать. Зачем? Сейчас дается отсчет с 10, 5 - сколько нужно секунд.
Вы будете писать 00:00:10 ? а если 100 секунд - что удобнее: 100 или 00:01:40 ?
Сообщение от dantist433
2 вопрос с записью в БД, после ого как закончился 1 отсчет необходимо записать в БД что нить
В функции, там, где запускается следующий отсчет, можно разместить запуск функции записи в БД, что-то вроде
if(obj.innerHTML==0){setTimeout(function(){
      obj.style.display = 'none';
      if(i == 0) writeDB();
      if(i < arr.length - 1) { 
         i++;
         timer(arr[i].id);
      }
 },1000);}

А насчет комментариев - что именно непонятно?
И побольше читайте учебники с примерами
Ответить с цитированием
  #8 (permalink)  
Старый 07.12.2016, 13:39
Аспирант
Отправить личное сообщение для dantist433 Посмотреть профиль Найти все сообщения от dantist433
 
Регистрация: 21.02.2016
Сообщений: 37

Сообщение от Dilettante_Pro Посмотреть сообщение

Можно. Нужно переписывать. Зачем? Сейчас дается отсчет с 10, 5 - сколько нужно секунд.
Вы будете писать 00:00:10 ? а если 100 секунд - что удобнее: 100 или 00:01:40 ?
Там просто время будет где то по 12-16 часов, и не особо наглядно буде в секундах
Сообщение от Dilettante_Pro Посмотреть сообщение
А насчет комментариев - что именно непонятно?
в данный момент все кроме функции и if.
только начинаю изучать
Ответить с цитированием
  #9 (permalink)  
Старый 07.12.2016, 13:40
Аспирант
Отправить личное сообщение для dantist433 Посмотреть профиль Найти все сообщения от dantist433
 
Регистрация: 21.02.2016
Сообщений: 37

И еще вопрос к БД надо заранее подключиться? в JS или достаточно подключения в php
Ответить с цитированием
  #10 (permalink)  
Старый 08.12.2016, 00:20
Аспирант
Отправить личное сообщение для dantist433 Посмотреть профиль Найти все сообщения от dantist433
 
Регистрация: 21.02.2016
Сообщений: 37

входные данные будут в секундах например 57632 секунды- их надо разбить на часы:минуты:секунды
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из формы вызывать другую форму без обновления страницы batia Элементы интерфейса 1 02.12.2014 11:39
как выдать сообщение при нажатии обновления страницы strengerst Общие вопросы Javascript 4 22.10.2014 11:32
Отправка и получение данных без обновления страницы h0ck Общие вопросы Javascript 6 28.08.2014 22:50
Перезагрузка jquery по событию click, без полной перезагрузки страницы Vitaliy88 Общие вопросы Javascript 4 22.11.2012 12:35
Автообновление <div> без перезагрузки страницы Antihrist AJAX и COMET 14 28.07.2008 06:06