1

以下のコードを使用して、HTMLページの背景を点滅させることができます。

<script type="text/javascript"> 
setInterval("Timer()", 500);
var x=1;
var set;
function Timer() 
{
    set=1;
    if(x==0 && set==1) {
        document.bgColor='#00008B';
        x=1;
        set=0;
    }
    if(x==1 && set==1) {
        document.bgColor='#FFFFFF';
        x=0;
        set=0;
    }
}
</script>

このコードを使用するだけで、htmlページが永遠に点滅します。しかし、どのようにしてまばたきを止めて、再びまばたきを開始するのでしょうか?

ページがプロトコルコマンドを受信したときに点滅を開始し、ユーザーがページのボタンを押したときに点滅を停止したい。どうすればいいですか?

4

4 に答える 4

2

setIntervalは、タイマーを無効にするために使用できるIDを返します。MDNのドキュメントを読むhttps://developer.mozilla.org/en/docs/DOM/window.setInterval

<script type="text/javascript"> 

var x=1;
var set;

function Timer() 
{
    set=1;
    if(x==0 && set==1) {
        document.bgColor='#00008B';
        x=1;
        set=0;
    }
    if(x==1 && set==1) {
        document.bgColor='#FFFFFF';
        x=0;
        set=0;
    }
}

var timerInterval = null;

startBlinking = function() {
   if(timerInterval === null)
       timerInterval = setInterval(Timer, 500);
}

stopBlinking = function() {
    if(timerInterval !== null) {
        clearInterval(timerInterval)
        timerInterval = null
    }
}
</script>

startBlinkingを呼び出して点滅を開始し、stopBlinkingを呼び出して点滅を停止します。実際の動作をご覧くださいhttp://jsfiddle.net/8D3KW/

于 2013-03-26T09:59:37.957 に答える
1

このhttp://jsfiddle.net/9FUWu/clearInterval使用してください。onclick

于 2013-03-26T09:59:43.180 に答える
0

にを割り当ててsetIntervalから、varそれを実行clearIntervalします。

var timer = setInterval("Timer()", 500);
...
clearInterval(timer);
于 2013-03-26T09:55:39.870 に答える
0

間隔を変数に保存します。

var interval = setInterval("Timer()", 500);

この変数を使用して、後でクリアすることができます。

clearInterval(interval);
于 2013-03-26T09:55:43.603 に答える