jQuery - 要素にクラスがある場合はこれを実行する 質問する

jQuery - 要素にクラスがある場合はこれを実行する 質問する

要素に特定のクラスがあるかどうかを確認し、位置の変更などのアクションを実行する jQuery スクリプトが必要です。

これは方法ですが、うまくいくとは思えません。

$("a.contact").toggle(function() {
    $("#contact").animate({
        right: '0'
    }, 2000);

    if ($("#about").hasClass("opened")) {
        $("#about").animate({
            right: -700 + "px"
        }, 2000);
    }
}, function() {
    $("#contact").animate({
        right: -700 + "px"
    }, 2000);
});

ベストアンサー1

まず、条件文に括弧がいくつか欠けています。

if ($("#about").hasClass("opened")) {
  $("#about").animate({right: "-700px"}, 2000);
}

しかし、これを次のように簡略化することもできます。

$('#about.opened').animate(...);

#aboutクラスがない場合opened、アニメーション化されません。

問題がアニメーション自体にある場合は、要素の配置についてさらに詳しく知る必要があります (絶対配置ですか? 相対的な親内の絶対配置ですか? 親にレイアウトがありますか?)

おすすめ記事