Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript X秒后禁用3个onClick功能_Javascript_Jquery - Fatal编程技术网

Javascript X秒后禁用3个onClick功能

Javascript X秒后禁用3个onClick功能,javascript,jquery,Javascript,Jquery,我还在学习Javascript和jQuery的奇妙之处,我决定制作一个石头剪刀游戏。然而,我想让这一次变得有趣和互动,而不仅仅是说“你赢了”或“你输了” 我有3张图片:石头、布和剪刀。当你点击其中一个时,它会将图像源更改为另一个,使其看起来像是被选中了 问题是,当你点击一个按钮时,游戏会在2秒钟内告诉你你是赢了,还是输了,还是平局。在那一刻,您仍然可以单击其他图像而无需等待。我想禁用click侦听器,以便在2秒结束之前无法执行此操作 JS代码: $('#rock').click(function

我还在学习Javascript和jQuery的奇妙之处,我决定制作一个石头剪刀游戏。然而,我想让这一次变得有趣和互动,而不仅仅是说“你赢了”或“你输了”

我有3张图片:石头、布和剪刀。当你点击其中一个时,它会将图像源更改为另一个,使其看起来像是被选中了

问题是,当你点击一个按钮时,游戏会在2秒钟内告诉你你是赢了,还是输了,还是平局。在那一刻,您仍然可以单击其他图像而无需等待。我想禁用click侦听器,以便在2秒结束之前无法执行此操作

JS代码:

$('#rock').click(function() {
    $(this).attr('src','Images/Result/Red Rock.png');
    $('#rock, #paper, #scissors').prop('disabled', true).delay(2000).prop('disabled', false);
});
$('#paper').click(function() {
    $(this).attr('src','Images/Result/Red Paper.png');
    $('#rock, #paper, #scissors').prop('disabled', true).delay(2000).prop('disabled', false);
});
$('#scissors').click(function() {
    $(this).attr('src','Images/Result/Red Scissors.png');
    $('#rock, #paper, #scissors').prop('disabled', true).delay(2000).prop('disabled', false);
});
现场直播:

使用将仅适用于使用基于队列执行的方法,如动画相关方法(animate()/slideDown等)

在这种情况下,最好使用timeout

$('#rock').click(function () {
    $(this).attr('src', 'Images/Result/Red Rock.png');
    pauseClick();
});
$('#paper').click(function () {
    $(this).attr('src', 'Images/Result/Red Paper.png');
    pauseClick();
});
$('#scissors').click(function () {
    $(this).attr('src', 'Images/Result/Red Scissors.png');
    pauseClick();
});

function pauseClick() {
    var $els = $('#rock, #paper, #scissors').prop('disabled', true);
    setTimeout(function () {
        $els.prop('disabled', false);
    }, 3000)
}
使用仅适用于使用基于队列执行的方法,如与动画相关的方法(animate()/slideDown等)

在这种情况下,最好使用timeout

$('#rock').click(function () {
    $(this).attr('src', 'Images/Result/Red Rock.png');
    pauseClick();
});
$('#paper').click(function () {
    $(this).attr('src', 'Images/Result/Red Paper.png');
    pauseClick();
});
$('#scissors').click(function () {
    $(this).attr('src', 'Images/Result/Red Scissors.png');
    pauseClick();
});

function pauseClick() {
    var $els = $('#rock, #paper, #scissors').prop('disabled', true);
    setTimeout(function () {
        $els.prop('disabled', false);
    }, 3000)
}
使用仅适用于使用基于队列执行的方法,如与动画相关的方法(animate()/slideDown等)

在这种情况下,最好使用timeout

$('#rock').click(function () {
    $(this).attr('src', 'Images/Result/Red Rock.png');
    pauseClick();
});
$('#paper').click(function () {
    $(this).attr('src', 'Images/Result/Red Paper.png');
    pauseClick();
});
$('#scissors').click(function () {
    $(this).attr('src', 'Images/Result/Red Scissors.png');
    pauseClick();
});

function pauseClick() {
    var $els = $('#rock, #paper, #scissors').prop('disabled', true);
    setTimeout(function () {
        $els.prop('disabled', false);
    }, 3000)
}
使用仅适用于使用基于队列执行的方法,如与动画相关的方法(animate()/slideDown等)

在这种情况下,最好使用timeout

$('#rock').click(function () {
    $(this).attr('src', 'Images/Result/Red Rock.png');
    pauseClick();
});
$('#paper').click(function () {
    $(this).attr('src', 'Images/Result/Red Paper.png');
    pauseClick();
});
$('#scissors').click(function () {
    $(this).attr('src', 'Images/Result/Red Scissors.png');
    pauseClick();
});

function pauseClick() {
    var $els = $('#rock, #paper, #scissors').prop('disabled', true);
    setTimeout(function () {
        $els.prop('disabled', false);
    }, 3000)
}

谢谢,这完全符合IE的工作原理,但不是Chrome或Firefox。起初我认为它根本不管用,但我认为它管用了。知道为什么吗?谢谢,这和IE中应该的一样,但不是Chrome或Firefox。起初我认为它根本不管用,但我认为它管用了。知道为什么吗?谢谢,这和IE中应该的一样,但不是Chrome或Firefox。起初我认为它根本不管用,但我认为它管用了。知道为什么吗?谢谢,这和IE中应该的一样,但不是Chrome或Firefox。起初我认为它根本不管用,但我认为它管用了。知道为什么吗?