• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ボタンを一回押したら3秒間押せなくしたいです)

ボタンを一回押したら3秒間押せないようにする方法

このQ&Aのポイント
  • リンクボタンを一回押した後、3秒間は押せないようにする方法について教えてください。
  • また、リンクボタンからインラインフレーム内にクリックするたび順番に別のサイトに飛ばす方法についても知りたいです。さらに、時間が経過してもボタンのクリック数がリセットされないようにしたいです。どのような実装を行えば良いでしょうか。
  • 質問者は、ボタンを押すと3秒間押せないようにする方法と、リンクボタンをクリックすると順番に別のサイトに飛ぶ方法を知りたいです。さらに、リロードしてもボタンのクリック数がリセットされないようにしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 こんな感じでいかがでしょうか。 var sec = 2; var timer; function clickFunc ( btn ) { document.getElementById('btn').value = sec; btn.disabled = true; timer = window.setInterval ( function() { if ( sec > 0 ) { sec --; document.getElementById('btn').value = sec; } else { btn.disabled = false; window.clearInterval ( timer ); sec = 2; document.getElementById('btn').value = ' go '; } } , 1000 ); idx++; document.getElementById("hoge").src=urls[idx % urls.length]; document.getElementById("fuga").value=idx; }

takum1986
質問者

お礼

出来ました^^ ありがとうございました♪

takum1986
質問者

補足

どこにこれを書き込めばよいのでしょうか? また<body>間には何を書き込めばよいでしょうか?

その他の回答 (3)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.4

こんにちは。 たびたびすみません。 ボタンにid=btnを追加してください。

takum1986
質問者

お礼

出来ました^^ ありがとうございました♪

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.3

こんにちは。 例に挙げられたものに手を加えただけですのでスクリプト部分を書き換えれば動きます。 とりあえずボタンに秒数を表示しています。 表示したい場所があるならそれをbodyに書いてsecの内容をそこに書くように指定します。

takum1986
質問者

お礼

出来ました^^ ありがとうございました♪

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 function clickFunc(){}を以下のようにします。 function clickFunc(btn){ btn.disabled = true; window.setTimeout ( function() { btn.disabled = false }, 3000 ); idx++; document.getElementById("hoge").src=urls[idx % urls.length]; document.getElementById("fuga").value=idx; } で、ボタンのonclick="clickFunc()"を onclick="clickFunc(this);"にします。

takum1986
質問者

お礼

出来ました^^ ありがとうございました♪

takum1986
質問者

補足

ありがとうございます^^ 無事できました。 それとその3秒間のカウントダウンは表示できたりできないでしょうか?

関連するQ&A