添加jQuery菜单fadeIn和fadeOut

时间:2013-09-04 17:32:44

标签: jquery

我正在考虑使用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;   
}

CODE

2 个答案:

答案 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");
});

或使用fadeOutfadeInfadeToggle效果:

$("#divtoggle").delegate("a", "click", function(e) {
    var id = ($(this).attr("href"));
    $("#content div").fadeOut("slow");
    $(id).fadeToggle("slow");
});

http://jsfiddle.net/hescano/6rSvf/256/