繁体   English   中英

使用While循环更改背景颜色

[英]Changing Background Colour with a While Loop

我编写了一段代码,因此在chrome中出现了提示,要求提供颜色,并使用循环将不断询问并不断更改颜色,直到给出空字符串为止。 如果取出循环,则会更改颜色,但在背景中添加循环后,颜色不会更改。 我是否缺少逻辑错误?

let empty=false;
while(empty===false){
  const colour= prompt("Give me a colour");
  document.body.style.backgroundColor=colour;
  if(colour===""){
    empty=true;
  }
}

JavaScript会阻止重新粉刷文档。

直到JS完成(这不可能发生,直到colour"" ),该浏览器将不会有机会来更新显示,以反映您对DOM所做的更改。

您不能为此使用while循环。 递归使用setTimeout

 function update_background() { const colour = prompt("Give me a colour"); document.body.style.backgroundColor=colour; if (colour) { setTimeout(update_background); } } update_background(); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM