1

基本的には一種の運スピンゲームを作りました。

ボタン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 つのタイムアウトのみを有効にするにはどうすればよいですか?

4

2 に答える 2

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);
}
于 2013-06-10T00:47:09.960 に答える