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给 avar然后执行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 回答