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