0

我在做一个反应测试时遇到了几个问题:

  • 好吧,首先我想在玩家点击一个 div 后随机暂停(2-5 秒)。

  • 其次,我想让 div 总共出现 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/

任何帮助将不胜感激!谢谢!

4

1 回答 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);
}

演示:小提琴

于 2013-10-03T02:47:47.840 回答