重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

お世話になります

<script type="text/javascript"><!--
window.onload=function() {
n=0;
Timer = setInterval("ch()",1000);
}

function ch() {
n++;
document.getElementById("test").innerHTML = n;
}
function re() {
clearInterval(Timer);
}
function call() {
Timer = setInterval("ch()",1000);
}
//--></script>

<input type="button" onclick="re()" value="reset">
<input type="button" onclick="call()" value="call">
<div id="test"></div>

としたときにページを表示したら1秒ごとに<div>『test』に1ずつ数が増えて表示されていき『reset』ボタンを押すとTimerが止まり『call』ボタンを押すとTimerが再開します

でもTimerを解除せずに『call』ボタンを押すと1秒に2ずつ、3ずつという風に相乗されていきます(新しいTimerが追加されていく)

これをTimerが起動しているときに『call』ボタンを押すとreturn false;
起動していないときにはTimerを起動させるという風にすることは可能でしょうか?
(Timerが起動しているときに『call』ボタンを押せないようにする以外に)

A 回答 (1件)

フラグで管理すればよいのでは?



<script type="text/javascript">
window.onload=function() {
n=0;
Timer = setInterval("ch()",1000);
timerFlg=true;
}

function ch() {
n++;
document.getElementById("test").innerHTML = n;
}
function re() {
clearInterval(Timer);
timerFlg =false;
}
function call() {
if(timerFlg) return false;
Timer = setInterval("ch()",1000);
timerFlg =true;
}
</script>

<input type="button" onclick="re()" value="reset">
<input type="button" onclick="call()" value="call">
<div id="test"></div>
    • good
    • 0
この回答へのお礼

回答ありがとうございます

なるほどそういった方法がありましたか
うまくいきました
ありがとうございますm(--)m

お礼日時:2008/09/30 21:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!