Javascript 闪烁背景色 : when to stop blinking and when to start

标签 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 页面将永远闪烁。 但是我们如何停止闪烁并再次开始闪烁呢?

我想在页面收到一些协议(protocol)命令时开始闪烁,并在用户按下页面上的按钮时停止闪烁。我们如何做到这一点?

最佳答案

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/

关于Javascript 闪烁背景色 : when to stop blinking and when to start,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15633961/

相关文章:

用于检查错误标签的 JavaScript 正则表达式

javascript - 将名称与组映射的有效解决方案

javascript - jQuery 可拖动 : memory leak

javascript - 为什么这个正则表达式在 javascript 函数之外工作而不是在它的内部?

javascript - JQuery中如何获取嵌套div的每个第一个元素的id

javascript - 使用 Meteor 触发两次 touchend 事件

javascript - 设置站点范围的 Cookie

javascript - jquery mobile listview 圆 Angular 问题

Javascript 函数递归(又名 'do more with less' )

javascript - 为什么 Animated.View 里面的 ScrollView 不起作用?