jQuery - se o elemento tem classe faça isso

Preciso de um script jQuery que veja se algum elemento tem uma classe específica e faça uma acção como mudar de posição.

Este é o caminho, mas acho que isto não vai funcionar.

$("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);
});
Author: L84, 2010-12-30

1 answers

Primeiro, faltam-te alguns parêntesis no condicional.
if ($("#about").hasClass("opened")) {
  $("#about").animate({right: "-700px"}, 2000);
}

Mas também pode simplificar isto para:

$('#about.opened').animate(...);
Se #aboutnão tiver a classe opened, não vai animar.

Se o problema é com a animação em si, precisamos de saber mais sobre o posicionamento do seu elemento (absoluto? um parente absoluto? o pai tem a planta?)

 141
Author: Ken Redler, 2017-10-25 18:41:17