Javascript闪烁背景颜色:何时停止闪烁以及何时开始

时间:2013-03-26 09:52:20

标签: javascript

通过使用下面的代码,我们可以看到我的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 个答案:

答案 0 :(得分: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/

答案 1 :(得分:1)

使用此http://jsfiddle.net/9FUWu/ 您需要clearInterval并使用onclick

答案 2 :(得分:0)

setInterval分配给var,然后对其clearInterval进行分配。

var timer = setInterval("Timer()", 500);
...
clearInterval(timer);

答案 3 :(得分:0)

将间隔保存在变量中:

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

您可以稍后使用此变量清除它:

clearInterval(interval);