Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.01.2015, 13:09
Профессор
Отправить личное сообщение для alerzo Посмотреть профиль Найти все сообщения от alerzo
 
Регистрация: 23.12.2010
Сообщений: 224

Блокировние кнопки после нажатия на 10мин.
Здравствуйте! Стоит задача реализовать такую схему:
На сайте делается обычная кнопка, при нажатии на которую она становится неактивной на 10 минут. (на кнопке идет обратный таймер, после которого она вновь становится активной).

При нажатии на кнопку необходимо каким то образом выполнить переход на другой скрипт (страница при этом не должна меняться, сайт открывается этот же, переход на обычный php скрипт) грубо говоря идет запрос на скрипт, который занимается постановкой задач..подскажите как реализовать простейший пример..может кто то примеры видел.
Ответить с цитированием
  #2 (permalink)  
Старый 24.01.2015, 14:04
Профессор
Отправить личное сообщение для alerzo Посмотреть профиль Найти все сообщения от alerzo
 
Регистрация: 23.12.2010
Сообщений: 224

Вот что я пытался реализовать: http://learn.javascript.ru/play/sLeMjc

нужно сделать чтобы таймер продолжал работать в своем режиме после обновления страницы и после его отчета (если страницу юзер не закрыл) таймер вновь вставл на нужное время и ничего не считал пока не нажмут кнопку.. Сразу после нажатия на кнопку "обновить статистику" нужно как то скрыто запускать нужный скрипт

В данный момент скрипт обновляет страниц и идет сброс..нужно подключать куки - как не знаю..прошу помощи
<script>
  function simple_timer(sec, block, direction) {
    var time = sec;
    direction = direction || false;

    var hour = parseInt(time / 3600);
    if (hour < 1) hour = 0;
    time = parseInt(time - hour * 3600);
    if (hour < 10) hour = '0' + hour;

    var minutes = parseInt(time / 60);
    if (minutes < 1) minutes = 0;
    time = parseInt(time - minutes * 60);
    if (minutes < 10) minutes = '0' + minutes;

    var seconds = time;
    if (seconds < 10) seconds = '0' + seconds;

    block.innerHTML = hour + ':' + minutes + ':' + seconds;

    if (direction) {
      sec++;

      setTimeout(function () {
        simple_timer(sec, block, direction);
      }, 1000);
    } else {
      sec--;

      if (sec > 0) {
        
        setTimeout(function () {
          simple_timer(sec, block, direction);
        }, 1000);
      } else {
        alert('Время вышло! сделали кнопку активной, вернули таймер');
        document.getElementById("knopka").disabled = false; 
        
      }
    }
  }

  function start_countdown() {
    document.getElementById("knopka").disabled = true;
    location.reload();
    alert('Статистика обновлена');
    var block = document.getElementById('online');
    simple_timer(10, block);
  }
</script>
Статистику можно обновить через: <span id="online">00:10:00</span> сек.


<input type="button" id="knopka" value="Обновить статистику" onclick="start_countdown()" />

Последний раз редактировалось alerzo, 24.01.2015 в 14:25.
Ответить с цитированием
  #3 (permalink)  
Старый 24.01.2015, 15:48
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

alerzo, решение должно быть устойчиво к "взлому"? Допустим если юзер откроет консоль и из нее запустит нужную функцию - это допустимо? То есть в таком случае негативные последствия будут для тебя или для юзера (сам дурак если так сделает)? Или их вообще не будет?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 24.01.2015, 16:10
Профессор
Отправить личное сообщение для alerzo Посмотреть профиль Найти все сообщения от alerzo
 
Регистрация: 23.12.2010
Сообщений: 224

Обновление статистики происходит при переходе на скрипт..ничего более юзер сделать не сможет..кроме как "обдурить" кнопку и снять лимит..но это не является обязательным..
Ответить с цитированием
  #5 (permalink)  
Старый 24.01.2015, 17:19
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Вместо кук сначала сделай на localStorage - пиши туда время старта таймера. При обновлении страницы - читай его оттуда и продолжай отсчет (за вычетом уже пройденного времени) или че там у тебя.

Запуск скрипта php - дергай его через XMLHttpRequest (гугли если не знаешь че это)
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 26.01.2015, 19:47
Профессор
Отправить личное сообщение для alerzo Посмотреть профиль Найти все сообщения от alerzo
 
Регистрация: 23.12.2010
Сообщений: 224

Требуется помощь! Не разобрался как сделать
Ответить с цитированием
  #7 (permalink)  
Старый 26.01.2015, 20:17
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Показывай че есть.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 27.01.2015, 18:02
Профессор
Отправить личное сообщение для alerzo Посмотреть профиль Найти все сообщения от alerzo
 
Регистрация: 23.12.2010
Сообщений: 224

все что есть вверху..необходимо чтобы нажималась кнопка "обновить статистику" после этого на кнопке был таймер обратного отчета и кнопка была неактивной -в этот момент и был запрос к скрипту..(после истечения времени кнопка вновь становилась активной и с начальным временем таймера
Ответить с цитированием
  #9 (permalink)  
Старый 27.01.2015, 19:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ок, с чем именно возникли проблемы?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 27.01.2015, 19:38
Профессор
Отправить личное сообщение для alerzo Посмотреть профиль Найти все сообщения от alerzo
 
Регистрация: 23.12.2010
Сообщений: 224

с завершением собственно плохо разбираюсь во всем этом.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исчезновение кнопки после нажатия ham134 Общие вопросы Javascript 5 10.05.2021 09:46
Определение "Больше" или "Меньше" после нажатия кнопки JFloyd Общие вопросы Javascript 1 01.12.2014 17:27
Изменение ссылки после нажатия кнопки BeetleJuice541 Элементы интерфейса 11 19.09.2014 19:37
Очищение текстового поля после нажатия кнопки Гугл-мен Общие вопросы Javascript 2 08.08.2013 16:00
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23