Javascript document.getElementById(“id”).style.display=&x27;隐藏的;;不起作用
一般来说,我是JavaScript和web开发的初学者,我正在编写一个简单的web程序来获取1-99之间的随机数,然后让用户进行猜测。问题是,我想根据用户的猜测来显示图像,要么过低,要么过高,要么正确。据我所知,我拥有最初隐藏图像所需的所有代码,然后在满足条件时显示它们。由于某些原因,我的document.getElementById(“id”).style.display='block';或 document.getElementById(“id”).style.display='none';似乎有效。 感谢您的帮助Javascript document.getElementById(“id”).style.display=&x27;隐藏的;;不起作用,javascript,html,css,Javascript,Html,Css,一般来说,我是JavaScript和web开发的初学者,我正在编写一个简单的web程序来获取1-99之间的随机数,然后让用户进行猜测。问题是,我想根据用户的猜测来显示图像,要么过低,要么过高,要么正确。据我所知,我拥有最初隐藏图像所需的所有代码,然后在满足条件时显示它们。由于某些原因,我的document.getElementById(“id”).style.display='block';或 document.getElementById(“id”).style.display='none';
函数hideTooHigh(){
document.getElementById(“tooHigh”).style.display='hidden';
}
函数hidetolow(){
document.getElementById(“tooLow”).style.display='hidden';
}
函数hideCorrect(){
document.getElementById(“correct”).style.display='hidden';
}
函数猜测游戏(){
var answer=Math.floor((Math.random()*100)+1);
var输入=0;
while(输入!=回答){
hideTooHigh();
hidetolow();
hideCorrect();
var inputstring=prompt(“请输入您的猜测”,“0”);
var input=parseInt(inputstring);
如果(输入<回答){
//显示少于图像
document.getElementById(“tooLow”).style.display='block';
//setTimeout(hidetolow,3000);
}else if(输入>回答){
//显示比图像大
document.getElementById(“tooHigh”).style.display='block';
//设置超时(hideTooHigh,3000);
}
}
如果(输入=回答){
//显示正确的图像
document.getElementById(“correct”).style.display='block';
//setTimeout(hideCorrect,3000);
}
}
猜数字游戏
点击按钮开始猜谜游戏
要播放,请在提示窗口中键入一个介于1-99之间的整数,然后按enter键。
根据您的猜测是否过高、过低或正确,下面将显示一幅图像。“过高”显示向下箭头,而“过低”显示向下箭头
low显示一个向上箭头
玩
有两个问题:
输入
元素和用户单击的按钮提交猜测,而不是while
循环中的提示
。按钮上的单击处理程序将具有当前位于while
循环主体中的代码display
属性的“不显示”值为none
。(hidden
用于visibility
属性。)
所以
应该是
document.getElementById("tooHigh").style.display = 'none';
// -------------------------------------------------^^^^
您使用“隐藏”而不是“无” document.getElementById(“tooLow”).style.display='hidden' 试试这个:
document.getElementById(“tooLow”).style.display='none' 如果您正在寻找仅与通过javascript显示相关的答案,请使用可见性而不是显示
document.getElementById(“太高”).style.visibility='hidden'
;用于隐藏内容document.getElementById(“tooHigh”).style.visibility='visible'
;用于显示内容while
循环中的提示符
也在阻塞,防止rendering@CertainPerformance-呵呵,还没走那么远,正在为显示
属性寻找一个dupetarget.:-)如果你想发布一个涵盖这两个方面的答案,我可以删除它。@Kryptur-Doh!在代码示例中正确,在开头的句子中错误。修正。非常感谢@T.J.Crowder,这是我的第一个JavaScript应用程序,所以在你告诉我并研究它之前,我不确定单线程的概念。我按照你的建议做了,应用程序现在可以运行了。你正在请求调试帮助,但你还没有将程序简化到可以说明你所看到的问题的程度。
document.getElementById("tooHigh").style.display = 'none';
// -------------------------------------------------^^^^