JQuery - если элемент имеет класс, выполните это

Мне нужен jQuery script, который увидит, имеет ли какой-либо элемент определенный класс и выполняет действие, такое как позиция изменения.

Вот так, но я не думаю, что это сработает.

$("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, он не будет анимироваться.

Если проблема связана с самой анимацией, нам нужно будет узнать больше о вашем позиционировании элемента (абсолютный абсолютный внутри относительного родителя? имеет ли родитель макет?)