0

これは私がやりたいことです...

「bd」という div がクリックされたら > 「ump」の id を持つ div に「active」のクラスがあるかどうかを確認します > ある場合は、「brandDump」のクラスの div を取得し、ゆっくり上にスライドさせて非表示にし、削除します'active' のクラス > それ以外の場合は、クラス 'brandDump' の div を下にスライドさせて表示し、'active' のクラスを追加します

div.bd をクリックしても何も起こりません。私は何を間違っていますか?

以下のリンクとコードをフィドルします。

http://jsfiddle.net/K2V8f/36/

<div class="bd">cool</div>
<div class="brandDump" id="ump">works</div>
<div>shape</div>

.brandDump {
background-color:#fff;
width:100px;
display:none;
}

.bd {
width:100px;
height:100px;
background-color:#000;
}

$(".bd").click(function () {
if ("#ump".hasClass("active")) {
    $(".brandDump").slideUp("slow");
    $(".brandDump").hide();
    $(".brandDump").removeClass("active");
} else {
    $(".brandDump").slideDown("slow");
    $(".brandDump").show();
    $(".brandDump").addClass("active");
}
});
4

2 に答える 2

2

更新されたフィドル

slideUp が終了したら、コールバックを使用する必要があります。

$(".bd").click(function () {
    if ($("#ump").hasClass("active")) {
        $(".brandDump").slideUp("slow", function () {
            $(".brandDump").removeClass("active");
        });

    } else {
        $(".brandDump").slideDown("slow", function () {
            $(".brandDump").addClass("active");
        });

    }

});

また、("#ump") でエラーが発生しました... $("#ump") である必要があります

于 2013-10-27T02:10:46.843 に答える