Javascript 为什么jquery show()在示例中不起作用 请考虑这个问题。它的目的是提供一个加载机制的非常简单的模拟

Javascript 为什么jquery show()在示例中不起作用 请考虑这个问题。它的目的是提供一个加载机制的非常简单的模拟,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个简单的设置: <body> <div id="loading"> <img src="http://www.arabianbusiness.com/skins/ab.main/gfx/loading_spinner.gif"/> </div> <div id="content"> <h3>Content fully loaded.</h3> &l

我有一个简单的设置:

  <body>
    <div id="loading">
      <img src="http://www.arabianbusiness.com/skins/ab.main/gfx/loading_spinner.gif"/>
    </div>
    <div id="content">
      <h3>Content fully loaded.</h3>
    </div>
  </body>
Javascript同样简单:

$(window).ready(function() 
{
  simulateLongLoad();
  $('#content').show();
});

function simulateLongLoad() 
{
  setTimeout(showContent, 2000);
}

function showContent() 
{
  $('#loading').hide();
  $('#content').show();
}
但是,由于某种原因,#内容的
.show()
不起作用。知道为什么吗


PS:可能是非常愚蠢的事情,但我没有看到。

在css中写入
显示:无而不是可见性

阅读更多关于差异的文章

如需解释:

显示:无表示有问题的标记不会出现在屏幕上 页面(尽管您仍然可以通过dom与之交互)。 在其他标记之间没有为其分配空间

可见性:隐藏意味着与“显示:无”不同,标记不可见 可见,但在页面上为其分配了空间。标签是 渲染后,页面上就看不到它了


您的内容<代码>可见性:隐藏<代码>应该是<代码>显示:无<代码>并且不需要您在onload中的第二行JS,请参见此处:

根据jQuery


因此,此函数不会更改css属性“可见性”

您需要将
visibility:hidden
更改为
display:none
,并删除第二行JS(运行相同的代码2次)

此代码将css添加到
#content
element
display:block
not
visibility:visible
。 如果要使用
可见性:隐藏
样式,必须将代码更改为

$('#content').css('visibility','visible'); 

@ParthTrivedi:我只是告诉他纠正他的cssYep,必须是这样简单的事情。奇怪的是,它在可见性上不起作用。@spike:我已经给出了解释,你可以去解释through@Spikee如果要使用可见性,请使用此
$('#content').css('visibility','visible')@Spike:我先回答了,我不介意你把它标记为答案:PYep,那多余的一行是测试的剩余,我也把它删除了。
 $('#content').show(); 
$('#content').css('visibility','visible');