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.