Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript document.getElementById(“id”).style.display=&x27;隐藏的;;不起作用_Javascript_Html_Css - Fatal编程技术网

Javascript document.getElementById(“id”).style.display=&x27;隐藏的;;不起作用

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';

一般来说,我是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显示一个向上箭头


有两个问题:

  • 您不能以这种方式构造JavaScript代码。JavaScript代码在事件循环中运行。在浏览器上,主JavaScript代码(脚本元素中的代码)由更新页面显示的同一线程执行。因此,当您的代码被调用时,它需要执行其工作,然后返回,以便浏览器可以更新您所做的任何更改。使用页面上的
    输入
    元素和用户单击的按钮提交猜测,而不是
    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';
    // -------------------------------------------------^^^^