jQuery - Nếu phần tử có lớp, hãy làm điều này


111

Tôi cần một tập lệnh jQuery sẽ xem liệu bất kỳ phần tử nào có một lớp cụ thể và thực hiện một hành động như thay đổi vị trí.

Đây là cách, nhưng tôi không nghĩ rằng cách này sẽ hiệu quả.

$("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);
});

Vâng, bạn đã nói rằng bạn muốn biết liệu phần tử "any" có một lớp nhất định hay không nhưng bộ chọn của bạn trong câu lệnh if của bạn chỉ nhắm mục tiêu phần tử có id là "about" có phải là mục đích đó không? Về cơ bản là cố gắng tìm ra vấn đề của bạn. Ngoài ra, bạn đã thử đoạn mã trên xem có hoạt động không?
Adrian

Bỏ phiếu câu hỏi do bạn không nghĩ rằng nó sẽ hoạt động? Bạn thử trước xem sao?!? Nếu nó không hoạt động, hãy cho chúng tôi biết CỤ THỂ những gì bạn muốn xem và những gì bạn thực sự đã thấy.
ken

@ken: thực sự thì anh ấy nên có, nhưng vì anh ấy chỉ là một kẻ hèn hạ, có lẽ một cú huých vào đúng hướng sẽ thích hợp hơn? Thật tình cờ, @Florescu, nếu bạn tò mò liệu điều gì đó sẽ hoạt động nhưng bạn không thể tìm ra nó, hãy mô phỏng vấn đề trên jsfiddle.net và liên kết đến nó trong câu hỏi của bạn.
treeface

@treeface: đó cú huých (thay cho việc gọi anh ta là kẻ hèn hạ ); nếu anh ấy cập nhật câu hỏi thành ... bạn biết đấy, thực sự bao gồm một câu hỏi, thì tôi sẽ xóa phiếu phản đối của mình. Câu hỏi dở (hoặc thiếu câu hỏi) = bỏ phiếu xuống, để những người khác không phải lãng phí thời gian của họ vào một vấn đề không liên quan như thế này.
ken

Câu trả lời:


193

Đầu tiên, bạn thiếu một số dấu ngoặc đơn trong điều kiện của mình:

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

Nhưng bạn cũng có thể đơn giản hóa điều này thành:

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

Nếu #aboutkhông có openedlớp, nó sẽ không hoạt ảnh.

Nếu vấn đề là với chính hoạt ảnh, chúng tôi cần biết thêm về vị trí phần tử của bạn (tuyệt đối? Tuyệt đối bên trong tương đối gốc? Phụ huynh có bố cục không?)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.