基本上我做了一个运气旋转游戏。
当您点击按钮ID“提交”时,它将执行以下操作:
function loadLuck() {
$("#luck").html('<img src="http://i.imgur.com/HSIICHd.gif" /> Please wait...');
setTimeout(function() {
$.post('ajax.php', {getLuck : '1'}, function(data) {
$("#luck").html(data);
});
}, 1500);
}
基本上从php页面加载结果。
但如果我多次点击它,它会产生新的结果,与我完成的点击次数相同。
多数民众赞成,因为超时已经确定。
我怎样才能每次启用1次超时?
答案 0 :(得分:2)
使用clearTimeout
功能:
var timeoutID = '';
function loadLuck() {
clearTimeout(timeoutID);
$("#luck").html('<img src="http://i.imgur.com/HSIICHd.gif" /> Please wait...');
timeoutID = setTimeout(function() {
$.post('ajax.php', {getLuck : '1'}, function(data) {
$("#luck").html(data);
});
}, 1500);
}
答案 1 :(得分:1)
您可以使用“去抖动”功能(例如this one)。
function loadLuck() {
// ...
}
$('.loadLuck').click($.debounce(loadLuck, 1500));