Показать сообщение отдельно
  #1 (permalink)  
Старый 04.05.2016, 03:45
Интересующийся
Отправить личное сообщение для Mikle1990 Посмотреть профиль Найти все сообщения от Mikle1990
 
Регистрация: 03.08.2009
Сообщений: 10

Прокрутка в исходное положение при некотором условии
Привет, друзья!

Есть меню для мобильной версии.
Я его не хотел помещать на самый верх, поэтому поместил внизу шапки. Возникла проблема - при раскрытии, пользователю не видно сразу всех пунктов меню, ему приходится прокручивать чуть ниже. Я эту проблему решил (scrollTop: 125). Далее я отменил эту прокрутку для ситуаций, когда пользователь находится в положении, когда при нажатии на меню он и так увидит все пункты меню.

Вопрос.
Как сделать, чтобы "ЕСЛИ пользователь при раскрытии меню находился в положении (posTop <= 124), то возвращаем его именно в то положение, где он находился"?.

Мысли.
Надо передать переменную posTop из первой функции во вторую. И добавить условие что:
if (posTop <= 124) {$('html, body').animate({scrollTop: posTop},500);}


Помогите, пожалуйста, а то знаний не хватает

Исходный код:
jQuery(function($) {
$('#meanmenu-reveal').toggle(
    function(e){
	    var posTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
        if (posTop > 124) {return false;}
		$('html, body').animate({scrollTop: 125},500);
		return false;
    },
    function(e){
    return false;
    }
);
});
Ответить с цитированием