Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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:切换div的可见性_Javascript_Html_Css - Fatal编程技术网

Javascript:切换div的可见性

Javascript:切换div的可见性,javascript,html,css,Javascript,Html,Css,我正在尝试使用java脚本使div可见/不可见。我有一个函数,如果div是可见的,则应该将可见性更改为“none”,如果div是none,则应该将可见性更改为“visible”。然而,它似乎不起作用。代码如下: <script> function toggleTools() { var element = document.getElementById('divTools'); if(element.style.visi

我正在尝试使用java脚本使div可见/不可见。我有一个函数,如果div是可见的,则应该将可见性更改为“none”,如果div是none,则应该将可见性更改为“visible”。然而,它似乎不起作用。代码如下:

<script>
      function toggleTools()
      {
          var element = document.getElementById('divTools');
          if(element.style.visibility=='visible')
          {
              element.style.visibility='hidden';
          }
          else
          {
              element.style.visibility='visible';
          }
      }
</script>

函数切换工具()
{
var元素=document.getElementById('divTools');
if(element.style.visibility=='visible')
{
element.style.visibility='hidden';
}
其他的
{
element.style.visibility='visible';
}
}
随大流

document.getElementById('divTools').style.display = 'block';
document.getElementById('divTools').style.display = 'none';
试着这样做:

<script>
      function toggleTools()
      {
          var element = document.getElementById('divTools');
          if(element.style.display!='none')
          {
              element.style.display='none';
          }
          else
          {
              element.style.display='block';
          }
      }
    </script>

我试过你的代码,它对我有用。请查找下面的代码。最初设置图元的可见性,否则它在开始时不起作用

 <script>
          function toggleTools()
          {
              var element = document.getElementById('divTools');
              if(element.style.visibility=='visible')
              {
                  element.style.visibility='hidden';
              }
              else
              {
                  element.style.visibility='visible';
              }

          }
        </script>

    <div id="divTools" style="visibility:visible">
    <p>Some Text</p>
    </div>
    <input type="button" onclick="toggleTools()" value="click" />

函数切换工具()
{
var元素=document.getElementById('divTools');
if(element.style.visibility=='visible')
{
element.style.visibility='hidden';
}
其他的
{
element.style.visibility='visible';
}
}
一些文本


最后一件事不起作用,这是第一次谁给页面充电。我检查可见性==''是否有效

function toggleTools()
      {
          var element = document.getElementById('divTools');
          if(element.style.visibility=='visible' || element.style.visibility=='')
          {
              element.style.visibility='hidden';
          }
          else
          {
              element.style.visibility='visible';
          }
      }
现场演示:


享受您的代码。

如果您最初设置了可见性,则代码可以工作:

通过CSS:

#divTools {
    visibility:hidden;
}

或通过JavaScript:

document.getElementById('divTools').style.visibility='hidden';

使用jquery非常简单这怎么办不管用?这应该管用,请发布你的HTML。效果非常好->不管jquery是否可行,他都没有在这篇文章上贴标签,所以被接受的答案应该是原始Javascript。为什么他不能使用可见性?因为可见性在某些浏览器中有问题,jQuery总是使用display:block;和显示:无;据我所知,任何浏览器的可见性都没有问题?那会是什么浏览器?有什么问题吗?这就是问题所在,@durbnpoisn评论道:这是一个区别。如果设置display:none,它将隐藏整个元素,而visibility:hidden意味着元素的内容将不可见,但元素保持其原始位置和大小。为什么他不能使用visibility?这是不同的。如果您设置display:none,它将隐藏整个元素,而visibility:hidden意味着元素的内容将不可见,但元素将保持其原始位置和大小。因此,当visibility不起作用时,您认为设置其他CSS属性会起作用吗?他没有确切指定“不起作用”的含义。所以我的想法是,尝试不同的方法,得到不同的结果。我并不是唯一一个提出这样建议的人。我们可以从评论中看出它是有效的。然而,这并不是一个答案。他首先需要使用可见性。否则,最初它不起作用。你能取消你的否决票吗?否决票不是我的,朋友。也许有人刚刚同意我的观点,但你仍然认为这不是答案。我编辑了它,让我知道它是否需要删除。
document.getElementById('divTools').style.visibility='hidden';