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