0

私はこのonclick機能を持っており、正常に動作しています:

onclick="transferplayer('palyerlistDIVID','<?=$d_player['id']?>',document.getElementById('play perPosition').value,'teamID','plus','<?=$d_player['teamID']?>','<?=$d_player['price']?>');showmyplayer('myplayerlistDIVID',document.getElementById('playperPosition').value,'plus','<?=$d_player['teamID']?>','<?=$d_player['price']?>')"

必要なのは、クリック間の時間を設定することです。そのため、この JavaScript を追加して、各クリックの間に 5 秒を追加しました。

var lastClicked = 0;

function onClickCheck() {
    var timeNow = (new Date()).getTime();
    if (timeNow > (lastClicked + 5000)) {
        // Execute the link action 
    } else {
        alert('Please wait at least 5 seconds between clicks!');
    }
    lastClicked = timeNow;
}

onclick問題は、このコードを関数と組み合わせるにはどうすればよいかということです。

私はこれを試しました:

onclick="onClickCheck();transferplayer('palyerlistDIVID','<?=$d_player['id']?>',document.getElementById('play perPosition').value,'teamID','plus','<?=$d_player['teamID']?>','<?=$d_player['price']?>');showmyplayer('myplayerlistDIVID',document.getElementById('playperPosition').value,'plus','<?=$d_player['teamID']?>','<?=$d_player['price']?>')"    

ただし、クリックすると、常に値が取得されます。

4

2 に答える 2

2

transferplayer呼び出しを if 句に移動するだけです。

onclick="onClickCheck()"


function onClickCheck() {
    var timeNow = (new Date()).getTime();
    if (timeNow > (lastClicked + 5000)) {
        transferplayer('palyerlistDIVID','<?=$d_player['id']?>',
                        document.getElementById('playerPosition').value,
                        'teamID',
                        'plus',
                        '<?=$d_player['teamID']?>',
                        '<?=$d_player['price']?>');

         showmyplayer('myplayerlistDIVID',
                      document.getElementById('playperPosition').value, 
                      'plus',
                      '<?=$d_player['teamID']?>',
                      '<?=$d_player['price']?>');
    } else {
        alert('Please wait at least 5 seconds between clicks!');
    }
    lastClicked = timeNow;
}

また、記録として、PHP の短いタグの使用はお勧めしません。この件に関する議論については、PHP のエコーと PHP の短いタグを参照してください。

于 2012-09-08T07:56:28.250 に答える
2

インライン JavaScript を使用することはお勧めできません。その要素のクリックをバインドするようにしてください。

しかし、あなたの答え:

onclick="var lastClicked = 0;if(timeNow>(lastClicked + 5000)){ var timeNow = (new Date()).getTime(); if (timeNow > (lastClicked + 5000)) { transferplayer('palyerlistDIVID','<?=$d_player['id']?>',document.getElementById('play perPosition').value,'teamID','plus','<?=$d_player['teamID']?>','<?=$d_player['price']?>');showmyplayer('myplayerlistDIVID',document.getElementById('playperPosition').value,'plus','<?=$d_player['teamID']?>','<?=$d_player['price']?>'); }else{ alert('Please wait at least 5 seconds between clicks!'); } lastClicked = timeNow;"
于 2012-09-08T07:56:41.107 に答える