我正在考虑使用jQuery制作一个简单的菜单:点击菜单中的项目,然后显示包含信息的div。我想添加一个显示div的fadeIn和fadeOut,但我不知道如何实现这一点。
这是我正在使用的代码
HTML:
<div id="wrap">
<ul id="divtoggle">
<li><a id="togglediv1" href="#">show div 1</a></li>
<li><a id="togglediv2" href="#">show div 2</a></li>
<li><a id="togglediv3" href="#">show div 3</a></li>
</ul>
<div id="div1">
<p>This is the content inside the first container</p>
</div>
<div id="div2">
<p>This is the content inside the second container</p>
</div>
<div id="div3">
<p>This is the content inside the third container</p>
</div>
</div>
jquery的:
$("#divtoggle").delegate("a", "click", function(e) {
var toggled = ($(this).prop("id"));
$("div#wrap").prop("class", toggled);
});
CSS:
#div1, #div2, #div3 {
display:none;
}
.togglediv1 #div1, .togglediv2 #div2, .togglediv3 #div3{
display:block;
}
答案 0 :(得分:0)
您应该能够将.fadeIn和fadeOut效果添加到.hover鼠标事件中。 jQuery API .hover()
答案 1 :(得分:0)
您可以尝试这样的事情(不使用css类):
标记:
<div id="wrap">
<ul id="divtoggle">
<li><a id="togglediv1" href="#div1">show div 1</a></li>
<li><a id="togglediv2" href="#div2">show div 2</a></li>
<li><a id="togglediv3" href="#div3">show div 3</a></li>
</ul>
<div id="content">
<div id="div1">
<p>This is the content inside the first container</p>
</div>
<div id="div2">
<p>This is the content inside the second container</p>
</div>
<div id="div3">
<p>This is the content inside the third container</p>
</div>
</div>
</div>
jQuery的:
$("#divtoggle").delegate("a", "click", function(e) {
var id = ($(this).attr("href"));
$("#content div").hide("slow");
$(id).toggle("slow");
});
或使用fadeOut
,fadeIn
和fadeToggle
效果:
$("#divtoggle").delegate("a", "click", function(e) {
var id = ($(this).attr("href"));
$("#content div").fadeOut("slow");
$(id).fadeToggle("slow");
});