jQuery-요소에 클래스가있는 경우이를 수행


111

요소에 특정 클래스가 있는지 확인하고 위치 변경과 같은 작업을 수행하는 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);
});

"어떤"요소에 특정 클래스가 있는지 알고 싶지만 if 문의 선택자는 ID가 "about"인 요소 만 대상으로하고 있는지 알고 싶다고 말씀하셨습니다. 기본적으로 문제가 무엇인지 파악하려고합니다. 또한 위의 코드가 작동하는지 아직 시도해 보았습니까?
Adrian

작동 하지 않을 것이라고 생각 하기 때문에 투표 질문 이 있습니까? 먼저 해보는 건 어때?!? 작동하지 않는 경우 예상되는 내용과 실제로 본 내용을 구체적으로 알려주십시오.
ken

@ken : 실제로 그는 그랬어 야했지만, 그는 단지 멍청한 멍청이이기 때문에 아마도 올바른 방향으로 친절한 넛지가 더 적절했을까요? 덧붙여서 @Florescu, 무언가가 작동하는지 궁금하지만 알아낼 수 없다면 jsfiddle.net에서 문제를 조롱하고 질문에 링크하십시오.
treeface 2010

@treeface : 입니다 (그에게 전화 대신에 찔러 낮은 멍청한 놈을 ); 그가 질문을 ...로 업데이트하면 실제로 질문을 포함하면 내 반대표를 제거합니다. 나쁜 질문 (또는 질문 부족) = 반대 투표로 다른 사람들이 이와 같이 문제가되지 않는 데 시간을 낭비 할 필요가 없습니다.
ken

답변:


193

첫째, 조건문에 괄호가 누락되었습니다.

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

그러나이를 단순화하여 다음을 수행 할 수도 있습니다.

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

경우 #about가없는 opened클래스를, 그것은 애니메이션되지 않습니다.

애니메이션 자체에 문제가있는 경우 요소 위치에 대해 더 많이 알아야합니다 (절대? 상대 부모 내부에 절대? 부모에 레이아웃이 있습니까?).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.