Прокрутка в исходное положение при некотором условии
Привет, друзья!
Есть меню для мобильной версии. Я его не хотел помещать на самый верх, поэтому поместил внизу шапки. Возникла проблема - при раскрытии, пользователю не видно сразу всех пунктов меню, ему приходится прокручивать чуть ниже. Я эту проблему решил (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; } ); }); |
Mikle1990,
Объявите posTop как глобальную переменную - вне всяких функций - и вы сможете пользоваться ей где угодно. https://learn.javascript.ru/global-object |
Часовой пояс GMT +3, время: 06:13. |