Aison
@Aison

Кнопка вверх-вниз с запоминанием позиции как на ВК, что нужно изменить, чтобы работала на моб. платформах?

на десктопе работает нормально, на смартфонах никакой реакции, как можно адаптировать под моб. версии? мне кажется, что проблема в отслеживании позиции скролла

ниже весь код

// объявим переменные
	var bottom_position = 0; // положение страницы
	var flag_bottom = false; // флаг, для отображения кнопки "назад"
	var flag_animate = false;// Флаг, определяющий, выполнение анимации
	 
	$(document).ready(function(){
		// клик по кнопке вверх/назад
		$('#updow').click(function(){
			// поднимаем флаг, началась выполнениние анимации
			flag_animate = true;
			// если на данный момент кнопка "назад"
			if(flag_bottom){
				// то скролим страницу в нужное место
				$("body,html").animate({"scrollTop":bottom_position}, 300, function(){ 
					// опускаем влаг анимации, она закончилась
					flag_animate = false;
				});
				// меняем кнопку
				flag_bottom = false;
				$('#updow span').html('Кнопка');
			}else{
				// если кнопка "вверх"
				$("body,html").animate({"scrollTop":0}, 300, function(){ 
					flag_animate = false;
				});     
				// запомним на сколько была прокручена страница
				bottom_position = $(window).scrollTop();
				// и зададим флаг, что нужно показать кнопку "назад"
				flag_bottom = true;
				$('#updow span').html('Кнопка');
			}
		});
	  
		// делаем проверку при скролле
		$(window).scroll(function(event){
			var countScroll = $(window).scrollTop();
			// если прокрутили больше 100 пикселей и анимация не выполняется, то показываем кнопку
			if (countScroll > 100 && !flag_animate){
				$('#updow').show();
				if(flag_bottom){
					flag_bottom = false;
					$('#updow span').html('Кнопка');
				}
			// иначе прячем кнопку, если это не кнопка "назад"
			}else{
				if(!flag_bottom){
					$('#updow span').html('Кнопка');
				}
			}
		});
	});
  • Вопрос задан
  • 220 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы