2013-10-03 4 views
0

я просто имея несколько проблем с проверкой реакции я делал:JQuery реакции Проблемы Тест задержки

  • Ну, во-первых, я хотел бы иметь случайную паузу (на 2-5 секунд) после игрок нажимает на div.

  • И, во-вторых, я хочу, чтобы divs отображались в общей сложности 5 раз, поэтому игрок получает 5 попыток.

Для первой проблемы я попытался использовать функцию setTimeout. И я попытался решить вторую проблему, используя цикл «for», чтобы ограничить количество раз, когда появится div.

For example: 

    for(var i = 1; i < 5; i++) { 
     $div.css({ 
      left: Math.floor(Math.random() * widthMax), 
      top: Math.floor(Math.random() * heightMax) 
     }); 
    } 

Однако я не мог решить ни одну из этих проблем.

Вы можете попробовать его здесь: http://jsfiddle.net/tghca/7/

Любая помощь будет принята с благодарностью! Спасибо!

+0

задержка, если для чего? после щелчка, чтобы переместить div? или включить следующий щелчок –

+0

Можете ли вы добавить конкретный список событий со свойствами (видимостью) div? В настоящее время я не совсем понимаю, когда div появляется и исчезает. –

+0

как в http://jsfiddle.net/arunpjohny/un9b9/1/ –

ответ

1

Что-то вроде

$('div').hide(); 

$('.start').click(function() { 
    $(this).hide(); 
    $('.hint').hide(); 
    $('div').show(); 
    makeDiv(); 
}); 

var counter = 0; 

function testClick() { 
    var docHeight = $(document).height(), 
     docWidth = $(document).width(), 
     $div = $('#test'), 
     divWidth = $div.width(), 
     divHeight = $div.height(), 
     heightMax = docHeight - divHeight, 
     widthMax = docWidth - divWidth; 

    $div.hide(); 
    setTimeout(function() { 
     $div.css({ 
      left: Math.floor(Math.random() * widthMax), 
      top: Math.floor(Math.random() * heightMax) 
     }).show(); 
     counter++; 
     if (counter < 5) { 
      makeDiv(); 
     } 
    }, Math.floor(Math.random() * 3000) + 2000) 
} 

function makeDiv() { 
    $('#test').one('click', testClick); 
} 

Demo: Fiddle

+0

Да! Это оно! Большое вам спасибо, Арун! – user2840892

+0

@ user2840892, то не могли бы вы отметить ответ как принятый –

Смежные вопросы