Jquery 淡入/淡出DIV和嵌套DIV';s
我正在尝试一个场景,在那里我可以淡入淡出一个div,用另一个div替换它。这部分我已经开始工作了,但是如果我淡入的div中有div,我的div就会完全消失 例如:Jquery 淡入/淡出DIV和嵌套DIV';s,jquery,html,css,Jquery,Html,Css,我正在尝试一个场景,在那里我可以淡入淡出一个div,用另一个div替换它。这部分我已经开始工作了,但是如果我淡入的div中有div,我的div就会完全消失 例如: <center> <ul id="menu"> <li><a href="#content1">Home</a> |</li> <li><a h
<center>
<ul id="menu">
<li><a href="#content1">Home</a> |</li>
<li><a href="#content2">Work</a> |</li>
<li><a href="#content3">Blog</a> |</li>
<li><a href="#content4">Contact</a></li>
</ul>
</center>
<hr class="style-main">
<center><img src="{image:homeHeaderImage}"></center>
</div>
<div id="contentWrap">
<div id="content1">
Home, content should go here :)
</div>
}))
这是一个JSFIDLE,主菜单项就是出现问题的那个。正如你所知道的,其他的很好用
在jQuery中,您有以下行:
$('#contentWrap div').hide();
这会导致隐藏所有div,包括#content1中的div
因此,当您单击“主页”按钮时,#content1确实会使其褪色,但是#content1中包含要显示的信息的div仍然隐藏
通过将以下内容添加到css中,您可以轻松解决此问题:
#homeContent{ display:block !important; }
尽管稍微重写jQuery可能会更好,这样就不必一开始就隐藏所有的div。(通过css显示:无)在jQuery中,您有以下行:
$('#contentWrap div').hide();
这会导致隐藏所有div,包括#content1中的div
因此,当您单击“主页”按钮时,#content1确实会使其褪色,但是#content1中包含要显示的信息的div仍然隐藏
通过将以下内容添加到css中,您可以轻松解决此问题:
#homeContent{ display:block !important; }
尽管稍微重写jQuery可能会更好,这样就不必一开始就隐藏所有的div。(通过css显示:无)只需更新这一行:
$('#contentWrap div:first').show();
$('#contentWrap div:first-child').show();
使用此选项:
$('#contentWrap div:first').show();
$('#contentWrap div:first-child').show();
看看这是否有用。只需更新这一行:
$('#contentWrap div:first').show();
$('#contentWrap div:first-child').show();
使用此选项:
$('#contentWrap div:first').show();
$('#contentWrap div:first-child').show();
看看这是否有帮助。您的CSS选择器设置为选择
#contentWrap
下的所有div
元素
如果将它们更改为#contentWrap>div
,则只会选择直接子项
像这样:
为了避免它们在加载时同时显示,您应该将
display:none
添加到#contentWrap>div的CSS中您的CSS选择器设置为选择#contentWrap
下的所有div
元素
如果将它们更改为#contentWrap>div
,则只会选择直接子项
像这样:
为了避免它们在加载时同时显示,您应该将display:none
添加到#contentWrap>div
的CSS中。您可能应该设置一个来显示问题,也许这会有帮助。我更正了你的JSFIDLE设置不好。你可能应该设置一个来显示问题。添加了JSFIDLE,也许会有帮助。我更正了你的JSFIDLE设置不好。我尝试将它添加到CSS中,但似乎没有显示嵌套DIV的内容。嗯,这很奇怪。更新了JSFIDLE中的css,它在那里工作,但在我的机器上它不会显示它。谢谢你的回答。这会有用的,没问题。如果我的答案有助于你解决问题,你能支持我吗?:)说我需要15名代表投票支持你的答案。如果我在该div中创建更多div,我必须添加display:block!进口css标签?我要做的是给所有要隐藏的DIV指定一个类,并使用该类来定位jQuery或css中的所有DIV。尝试将其添加到css中,但似乎没有显示嵌套DIV的内容。嗯,这很奇怪。更新了JSFIDLE中的css,它在那里工作,但在我的机器上它不会显示它。谢谢你的回答。这会有用的,没问题。如果我的答案有助于你解决问题,你能支持我吗?:)说我需要15名代表投票支持你的答案。如果我在该div中创建更多div,我必须添加display:block!进口css标签?我要做的是给所有要隐藏的div指定一个类,并使用该类来定位jQuery或css中的所有div。这使它一次显示所有四个div,当我单击其他div并返回主div时,它保持白色。这使它一次显示所有四个div,当我点击其他的并返回到home div时,它仍然是白色的。现在,只要替换我使用的代码片段,它就可以完美地工作。非常感谢你们,我一直在努力解决这个问题。你们知道为什么它在本地机器上不起作用吗。直接从JSFIDLE复制代码,在我的Mac上无法运行。这就是答案。NVM,明白了,再次感谢老兄。当我复制它的时候,我在css中遗漏了一个>,我花了一点时间才意识到。现在,只要替换我使用的代码片段,它就可以完美地工作。非常感谢你们,我一直在努力解决这个问题。你们知道为什么它在本地机器上不起作用吗。直接从JSFIDLE复制代码,在我的Mac上无法运行。这就是答案。NVM,明白了,再次感谢老兄。当我把它复制过来时,我在css中漏掉了一个>,我花了一点时间才意识到这一点。