一次尝试后javascript提示失败

一次尝试后javascript提示失败,javascript,if-statement,Javascript,If Statement,我正在创建一个简单的引导页面,当你第一次打开页面时,页面会问你喜欢暗主题还是浅主题,主题会根据你的答案而改变。此外,我想让它,如果用户键入任何东西以外的黑暗或光明的提示只是不断询问,直到你选择了a或b。不幸的是,出现的情况是提示询问用户,您键入任何其他内容,然后它再次询问您,如果您键入除两个答案以外的任何内容,它将放弃并求助于默认背景。有没有办法防止这种情况?这是我的密码 var background_image = prompt("Do you prefer a LIGHT backgroun

我正在创建一个简单的引导页面,当你第一次打开页面时,页面会问你喜欢暗主题还是浅主题,主题会根据你的答案而改变。此外,我想让它,如果用户键入任何东西以外的黑暗或光明的提示只是不断询问,直到你选择了a或b。不幸的是,出现的情况是提示询问用户,您键入任何其他内容,然后它再次询问您,如果您键入除两个答案以外的任何内容,它将放弃并求助于默认背景。有没有办法防止这种情况?这是我的密码

var background_image = prompt("Do you prefer a LIGHT background or a DARK background?")


if (background_image == 'LIGHT') {
  $('body').css('background-image', 'url("assets/background.jpg")')
} else if (background_image == 'DARK'){
  $('body').css('background-image', 'url("assets/dark.jpg")')
} else {
  var background_image = prompt("Do you prefer a LIGHT background or a      
  DARK background?")
} 




body{
 background-image: url("../assets/grey.jpg");
}
此外,如果您第一次键入a或b以外的任何内容,请尝试在第二次键入“亮”或“暗”来更正您自己的错误。尝试会自动恢复为默认主题


谢谢

好吧,您的代码在第二次提示后结束,为什么希望它再运行一次呢

您需要这样做-尝试将其设置为函数,然后重新运行该函数,而不是第二次提示。了解递归

见此:

函数询问{ var background_image=prompt您喜欢浅背景还是暗背景?; 如果背景_图像==‘灯光’{ $'body'.css'background-image','urlsets/background.jpg' }否则,如果背景_图像=='暗'{ $'body'.css'background-image','urlsets/dark.jpg' }否则{ 问 } } 询问 您可以尝试循环:

var退出; var user;//供用户输入 做{ 退出=真; user=提示“您喜欢浅背景还是深背景?”,“浅”。toLowerCase; 如果用户=='灯光'{ $'body'.css'background-image','urlsets/background.jpg'; }如果用户=='dark'{ $'body'.css'background-image','urlsets/dark.jpg'; }否则{ 退出=错误; } }一会儿!退出 免责声明:与这个已经有很多答案的问题并不完全相关

但关于我在你问题中的评论,我根本不会使用警告、确认、提示等:

所需的一切:

变量主题={ 违约:http://placehold.it/800x600/ccc/457?text=MS+主题, 黑暗:http://placehold.it/800x600/125/adc?text=DARK, 灯光:http://placehold.it/800x600/adc/125?text=LIGHT, }; $dark、light、default.clickfunction{ $body.css{backgroundImage:url+themes[this.id]+}; $popup,default.fadeToggle; }; html,正文{ 保证金:0; 身高:100%; } 身体{ 字体:100%/1.2无衬线; 背景:urlhttp://placehold.it/800x600/ccc/457?text=MS+主题50%/封面; } 弹出窗口{ 位置:固定; 左侧:50%;顶部:50%; 转化:转化-50%,-50%; 文本对齐:居中; 填充:20px 30px; 背景:RGBA255255,0.9; 盒影:0 5px 30px rgba0,0,0.5; } 弹出窗口h2{ 字体大小:正常; } 默认值{显示:无;} 改变主题 选择您的主题: 黑暗的 光


如果那是为了上学,那就好了。否则再想想你的想法。。。不要让用户键入预期的响应。改为创建两个按钮。如果你觉得50%邪恶,那么至少使用promptbla.toLowerCase,并与light/dark小写进行比较。无论如何。。。完全不好的主意:同样,逻辑上,如果你只有两个模板,你可以使用确认而不是提示,比如:确认你想看一个轻主题吗?用户将有“确定”和“取消”。逻辑上取消将保留暗主题。无论如何…:yuckHaha,@RokoC.Buljan,我相信你让OP退出了这方面的开发工作!:D@Shomz ; 希望不是:祝马修一切顺利