1

我正在考虑使用 jQuery 制作一个简单的菜单:单击菜单项,然后会显示一个包含信息的 div。我想添加一个显示 div 的淡入淡出和淡入淡出,但我不知道如何实现这一点。

这是我正在使用的代码

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;   
}

代码

4

2 回答 2

0

您应该能够将fadeIn 和fadeOut 效果添加到.hover 鼠标事件。 jQuery API .hover()

于 2013-09-04T17:38:01.353 回答
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,fadeInfadeToggle效果:

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

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

于 2013-09-04T17:42:52.753 回答