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);
});

Ну, ви сказали, що хочете дізнатися, чи має "будь-який" елемент певний клас, але ваш селектор у вашому, якщо оператор націлений лише на елемент, який має ідентифікатор "про", це навмисно? В основному намагаються з'ясувати, з чим у вас проблеми. Ви також спробували вищевказаний код, щоб побачити, чи працює він?
— Адріан

Питання щодо голосування вниз через те, що ви не думаєте, що це спрацює? Як ви спробуйте спершу?!? Якщо це не спрацює, розкажіть нам СПЕЦІФІЧНО, що ви очікуєте побачити і що ви насправді бачили.
— кен

@ken: насправді він мав би бути, але оскільки він просто низький нуб, можливо, добріший поштовх у правильному напрямку був би доречнішим? До речі, @Florescu, якщо вам цікаво, чи щось спрацює, але ви не можете зрозуміти це, знущайтеся над проблемою на jsfiddle.net та посилайтеся на неї у своєму запитанні.
— поверхня дерева

@treeface: що це підштовхування (замість називаючи його лагідний нуб ); якщо він оновить питання до ... Ви знаєте, насправді включіть запитання, тоді я видалю свою заяву. Погане запитання (або відсутність питання) = голосування вниз, щоб оточуючим не довелося витрачати свій час на таке питання, як це.
— кен

Відповіді:


193

По-перше, вам не вистачає деяких дужок в умовному режимі:

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

Але ви також можете спростити це до:

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

Якщо клас #aboutне має opened, він не оживить.

Якщо проблема пов’язана з самою анімацією, нам слід знати більше про позиціонування вашого елемента (абсолютне? Абсолютне всередині відносного батька? У батьків є макет?)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.