JQuery, если hasclass addclass

0
/* If the object is completely visible in the window... */
if( bottom_of_window > bottom_of_object ){
    $(this).is(".block-left").addClass('fadeInLeft');
    $(this).is(".block-right").addClass('fadeInRight');
}

Я палочку для addClass, проверяя класс элементов, но это, похоже, не работает.

Теги:
addclass

4 ответа

1
Лучший ответ

Вам нужно использовать filter() вместо is(), потому что is() возвращает логическое значение, которое вызовет ошибку

$(this).filter(".block-left").addClass('fadeInLeft');
$(this).filter(".block-right").addClass('fadeInRight');
  • 0
    Это то, что я искал! ИДЕАЛЬНЫЙ! Спасибо!
0

Вы можете использовать hasClass():

if( bottom_of_window > bottom_of_object ){
    if($(this).hasClass("block-left")) {
        $(this).addClass("fadeInLeft");
    } else if($(this).hasClass("block-right")) {
        $(this).addClass("fadeInRight");
    }
}
  • 0
    Это добавит класс ко всем .block-left и .block-right , а не только к this .
  • 0
    Хорошо, исправлено. Спасибо :)
0

Вы должны использовать, if

if( bottom_of_window > bottom_of_object ){
    if ($(this).is(".block-left")) {
        $(this).addClass('fadeInLeft');
    } else if ($(this).is(".block-right"))
        $(this).addClass('fadeInRight');
    }
}
0

Используйте .hasClass()

if($(this).hasClass("block-left")){
   $(this).addClass('fadeInLeft');
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню