2016-06-01 4 views
0

Я хочу, чтобы добавить класса в различных дивах во вертикальной прокрутки использованием jQuery. Мне удалось добавить к первому Div class во время прокрутки, но не смог найти решение для других.Добавить класс к различным дивам в окне вертикальной полосы прокрутки с помощью JQuery

Это мой код jQuery. Он работает

jQuery(window).scroll(function() { 
    var scroll = jQuery(window).scrollTop(); 
    if (scroll >=200) { 
     jQuery('.feature-box').addClass('fadeInUp animated'); 
    } else { 
     jQuery(".feature-box").removeClass("fadeInUp animated"); 
    } 
    removeClass('fadeInUp animated'); 
}); 

И я хочу еще один класс в другой DIV во время прокрутки. Что-то вроде этого

jQuery(window).scroll(function() { 
    var scroll_more = jQuery(window).scrollTop(); 
    if (scroll_more >=400) { 
     jQuery('.more-box').addClass('fadeInUp animated'); 
    } else { 
     jQuery(".more-box").removeClass("fadeInUp animated"); 
    } 
    removeClass('fadeInUp animated'); 
}); 

Но это обыкновение добавить класс к more-box класса. Я что-то пропустил?

Заранее спасибо

+0

вы можете добавить как этот JQuery ('особенность коробки, .more-бокс. ') AddClass (' fadeInUp анимированный'). ; – vel

+0

, который работает, но я хочу добавить только при прокрутке в разные позиции div –

+1

вы можете сделать скрипку? – vel

ответ

1

Вот подсказка (не проверено):

jQuery('.feature-box, .more-box').each(function() { 

    var wt = jQuery(window).scrollTop(); 
    var ct = jQuery(this).offset().top; 

    if(wt > ct) { 

     jQuery(this).addClass('fadeInUp animated'); 

    } else { 

     jQuery(this).removeClass('fadeInUp animated'); 

    } 

}); 

Вероятно, вы должны вызвать немного раньше, как это:

wt > (ct - 200) 
+0

На самом деле, мои разделы не вложены в класс, они представляют собой разные «разделы» с разными «классами». Можете ли вы изменить свой код, ссылаясь на мой вышеупомянутый вопрос? https://jsfiddle.net/1x0109c4/ моя скрипка для справки. Thanks –

+0

Кажется, довольно хаки. Просто выберите jQuery ('. Feature-box, .more-box') вместо jQuery ('.fadeInBox') ... –

1

Если вы хотите как условия, подлежащие проверке одновременно: -

if (scroll >=200) { 
    jQuery('.feature-box').addClass('fadeInUp animated'); 
} else { 
    jQuery(".feature-box").removeClass("fadeInUp animated"); 
} 
if(scroll >= 400){ 
    jQuery('.more-box').addClass('fadeInUp animated'); 
} else { 
    jQuery(".more-box").removeClass("fadeInUp animated"); 
} 
removeClass('fadeInUp animated'); 

Если вы хотите только одно из условий, чтобы быть правдой: -

if(scroll >= 400){ 
    jQuery('.more-box').addClass('fadeInUp animated'); 
} 
else if(scroll >= 200){ 
    jQuery('.feature-box').addClass('fadeInUp animated'); 
} 
else { 
    jQuery(".more-box").removeClass("fadeInUp animated"); 
    jQuery(".feature-box").removeClass("fadeInUp animated"); 
} 
removeClass('fadeInUp animated'); 
+0

классы добавлены со второй частью. Да, это похоже на то, что мне нужно. Но, как только я обновляю страницу и прокручиваю вниз, 'feature-box' продолжает добавлять класс при прокрутке вверх и прокрутке вниз, но класс' more-box' не добавляет другого класса. Фактически, мне нужно удалить класс после прокрутки. –

 Смежные вопросы

  • Нет связанных вопросов^_^