首页 > 解决方案 > 在两种颜色之间切换不起作用

问题描述

我在这里缺少什么所以我的页面在这两种颜色之间切换?谢谢 !

var body = document.querySelector("body");
var isBlue = false;

setInterval(function(){
    if(isBlue){
        body.style.background = "green";
    } else {
        body.style.background = "white"
    }
},1000);

标签: javascriptif-statementsetinterval

解决方案


你永远不会改变 的值isBlue,所以它总是false,所以你总是设置white为背景颜色。

if/else之后,反转标志:

isBlue = !isBlue;

例如:

setInterval(function(){
    if(isBlue){
        body.style.background = "green";
    } else {
        body.style.background = "white"
    }
    isBlue = !isBlue;
},1000);

旁注:“isBlue”对于设置绿色背景的标志来说似乎是一个奇怪的名称......;-)(虽然公平,据我所知,在某些文化中,蓝色和绿色之间没有区别。)


推荐阅读