【问题标题】:Can't manage to hide window using if on javascript无法在javascript上使用if隐藏窗口
【发布时间】:2020-07-10 04:18:50
【问题描述】:

首先是一些背景知识,这样你们就不会那么严厉地回应了,我在过去的一个半月里一直在学习代码。 如果您的浏览器语言不是英语,我一直无法隐藏一个显示的窗口。我知道还有其他方法可以解决它,但我想知道它为什么不起作用,我只是不想放弃它并尝试理解它。当我按下否按钮时,我希望窗口消失。这是窗口的图像https://imgur.com/gallery/iTEX0I0 代码如下:

var lang = navigator.language;
if ("" + lang == "es-US") {
  var div = document.getElementById("win");
}
var button = document.getElementById("buttonn")
buttonn.onclick = function() {
  var div = document.getElementById("win");
  if (div.style.display !== "none") {
    div.style.display = "none";
  }
}
<body>
  <div class="container">
    <div class="window" id="win">
      <div class="layover">
        <div class="h2">
          <h2>Oops!</h2>
        </div>
        <div class="yesandno">
          <figure class="yes">
            <button onclick="window.location.href= 'espanol.html';">Si</button>
          </figure>
          <figure class="no">
            <button onclick id="buttonn">No</button>
          </figure>
        </div>
        <div class="langmessage">
          Hemos detectado que el idioma de su ordenador se encuentra en español. ¿Le gustaría utilizar la versión en español de nuestro sitio web?
        </div>
      </div>
    </div>

【问题讨论】:

  • 出现什么样的窗口可以给我们截图吗?还正确格式化了您的代码
  • imgur.com/gallery/iTEX0I0 这是显示的窗口
  • 这是您要找的吗? stackoverflow.com/a/12238414/9201277
  • 不,我只是想让窗口在我按下 no 按钮时消失,但它没有
  • 所以如果这是屏幕截图中的 iframe,您希望 iframe 消失,我的意思是我更新的示例效果很好,不是吗?

标签: javascript html


【解决方案1】:

我没有看到您正在检查浏览器语言是否实际上是英语的任何地方。英语语言代码是“en-US”。您在 if 语句中使用了“es-US”,但这是西班牙语的语言代码。

【讨论】:

  • 是的,对不起,我的意思是当它检测到您的浏览器语言是西班牙语时会显示该窗口
【解决方案2】:

我认为第 6 行有一个错字,将buttonn 更改为按钮,看看是否有效。
我已根据您的需要添加了运行良好的 sn-p。

var button = document.getElementById("buttonn");
buttonn.onclick = function() {
	var div = document.getElementById("win");
    if (div.style.display !== "none") {
        div.style.display = "none";
    }
}
<!DOCTYPE html>
<html>
<body>

<button type="button" id="buttonn">No</button>
<div id='win' style="height: 200px; width: 200px; border: 1px solid black"></div>



</body>
</html> 

【讨论】:

  • 哦,是的,我改变了它,但仍然没有隐藏
  • 我尝试了这段代码,它运行良好--&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;body&gt; &lt;h2&gt;My First JavaScript&lt;/h2&gt; &lt;button type="button" id="buttonn"&gt; No&lt;/button&gt; &lt;div id='win' style="height: 200px; width: 200px; border: 1px solid black"&gt;&lt;/div&gt; &lt;script&gt; var button = document.getElementById("buttonn"); buttonn.onclick = function() { var div = document.getElementById("win"); if (div.style.display !== "none") { div.style.display = "none"; } } &lt;/script&gt; &lt;/body&gt; &lt;/html&gt; 你的代码 sn-p 运行良好。
  • 老兄,非常感谢你,我想感谢你的代码,我忘了在我的代码上添加var div= DOCUMENT.getElementById("win")
  • 乐于助人。 :) 如果对您有帮助,请将答案标记为已接受。 :)
猜你喜欢
相关资源
最近更新 更多
热门标签