Как перезапустить скрипт, при скролле верх?

Доброго времени суток, будьте добры подсказать, как сделать, чтобы этот скрипт вызывался при скролле вниз, а при скролле верх, снова принимал изначальную форму?

Сделал так:
$(window).scroll(function() {
		$('#block-new20, #block-new25, #block-new26').each(function(){
		var imagePos = $(this).offset().top;
		var topOfWindow = $(window).scrollTop();
			if (imagePos < topOfWindow+550) {
				$(this).addClass("right");
					}else if(imagePos > topOfWindow+550){
				$(this).removeClass("right");
					}
		});
	});
  • Вопрос задан
  • 2433 просмотра
Решения вопроса 1
FaloSun
@FaloSun Автор вопроса
<script>
	$(window).scroll(function() {
		$('#block-new20, #block-new25, #block-new26').each(function(){
		var imagePos = $(this).offset().top;
		var topOfWindow = $(window).scrollTop();
			if (imagePos < topOfWindow+550) {
				$(this).addClass("right");
					}else if(imagePos > topOfWindow+550){
				$(this).removeClass("right");
					}
		});
	});
</script>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@lnked
// Кешируем значение
var s_cache = $(window).scrollTop();

$(window).scroll(function() {
    var st = $(window).scrollTop(), d = st - s_cache;

    if(d > 0) {
        // Скроллим вниз
    }
    else {
        // Скроллим вверх
    }

    s_cache = st;
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы