Как организовать задержку

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем aleksa, 7 июн 2005.

Статус темы:
Закрыта.
  1. aleksa

    aleksa Гость

    Нужно, чтобы скрипт выполнял такую задачу: на экран выводиться картинка (картинка нарисована на PHP). Генериться случайное число, и через это случаное число секунд картинка меняеться. Нужно, чтобы юзер за минимальное время после изменения картинки кликнул на ней. Если у юзера сдадут нервы и он кликнет до того как картинка изменится, выводиться гневная надпись и т.д. и т.п. Такой себе тест на скорость. Пробовала использавоть setTimeout для организации задержки ьперед изменением картинки, но при его использовании картинка почему то меняеться сразу. Я использую такую функцию для задержки

    function pause (mSec) {
    clock = new Date();
    justMinute = clock.getTime();
    while (true) {
    just = new Date();
    if ((just.getTime() - justMinute > mSec) ) break;
    }
    }

    Но мне нужно отслеживать если юзер кликнул мышкой до того как картинка поменялась.
    Как можно решить эту проблему?
     
  2. Alexxxxxxxxxxxxx

    Alexxxxxxxxxxxxx Гость

    А если эту задачу написать на Flash ?
    Получится и просто, и изящно :)
     
  3. aleksa

    aleksa Гость

    А я не шарю в Flashе
     
  4. vit_999

    vit_999 Гость

    напиши в гугле
    php delay
     
  5. Гость

    И в чем проблема ?
    Я думаю принцип такой.
    Считай разницу во времени между 2 событиями - изменением картинки и кликом по ней.
    Если отрицательная, значит клик состоялся раньше изменения, положительная – позже.

    А ты пытаешься отталкиваться от «задержки». Магическое слово для всех девчонок :(

    sleep(7) – задержка на 7 секунд. Но эта функция тебе не нужна!
     
  6. aleksa

    aleksa Гость

    Проблема в том, что клики во время выполнения pause() не отлавливаються, а setTimeout() почему то не работает.
     
  7. Гость

    вот я и говорю что ты неправильно строишь алгоритм обработки появление_картинки/клик. зачем тут пауза?
     
  8. aleksa

    aleksa Гость

    Картинка должна появляться через определенный случайный отрезок времени. Для этого я и использую паузу, задержку то бишь, перед ее появлением.
     
  9. Гость

    не использую паузу как таковую вообще. во время паузы ты не сможешь проконтролировать клик. просто вычмисляй время между появлением картинки и кликом.
    может у нас разные понятия о термине пауза?
     
  10. aleksa

    aleksa Гость

    Как мне тогда сделать, чтобы картинка появлялась через определенный интервал? Например через 3 секунды после клика юзера. Как мне этои 3 секунды отсчитать?
     
  11. aleksa

    aleksa Гость

    Как мне тогда отсчитать время перед появлением картинки?
     
  12. Гость

    вроде все рассказал. осталось только самому написать код :)
     
  13. aleksa

    aleksa Гость

    Не надо код писать. Он уже почти написан. Лучше КОНКРЕТНО скажи, как сделать, чтобы каритинка появлялась через определенное время.
     
  14. Гость

    сказал же уже, конкретнее некуда. у тебя неправильное построение алгоритма.
     
  15. aleksa

    aleksa Гость

    А где неправильности?

    Генерим случайное число ran |Если юзер кликнул - выводим |
    Выжидаем ran*1000 мс------------->|сообщение о досрочном клике |
    |Переходим на начало, все обнуляем и т.д.|

    Меняем картинку,фиксируем время
    Если юзер кликает, фиксируем время
    Вычисляем разницу
    Переходим на начало

    Проблема в том, как сделать "выжидание" и чтобы при этом можно было досрочный клик отлавливать.
     
  16. aleksa

    aleksa Гость

    Может я непонятно блок схему нарисовала, но увы - средства форума ограничивают.
     
  17. aleksa

    aleksa Гость

    Я уже нашла ошибку. Ошибка была не в алгоритме, как некоторые мне доказывали, а всего лишь в отсутствии пары ковычек. Всем спасибо.
     
  18. Гость

    тремя постами выше написан алгоритм о котором я распинался. а большие листинги здесь никто читать не будет.
    решила трабл - молодец!
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей