Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.06.2018, 22:17
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Не учитывать высоту выпадающего меню при скроле к якорю
Здравствуйте!
Новая проблема с прокруткой: В десктопной версии все работает хорошо. А в мобильной у меня меню отображается в виде раскрывающегося списка (гамбургер-меню) - проблема в том что при нажатии на ссылку в меню, само меню сворачивается обратно, но при прокрутке, насколько я понял, учитывается высота этого меню в раскрытом виде и все "уезжает" ниже якоря...
jQuery(document).ready(function($){

	$('.hamburger').click(function(){
		element = $('.mobile-menu');
	display = element.css('display');
	if(display == 'none')
		$('.mobile-menu').slideDown(400);
	if(display == 'block')
		$('.mobile-menu').slideUp(400);
});
 
$('.mobile-menu a').click(function(){
	$('.mobile-menu').slideUp(400);
});

    $('a.scroll').click(function() {
        $("html, body").animate({
            scrollTop: $($(this).attr('href')).offset().top + "px"
        }, {
            duration: 500
        });
        return false;
    });
	

});


<div class="hamburger">
			<i class="icon-menu"></i>
		        </div>

	<div class="mobile-menu">
		<div class="container">
			<ul>
				<li><a href="#home" class="scroll">Home</a></li>
				<li><a href="#galleries" class="scroll">Galleries</a></li>
				<li><a href="#about" class="scroll">About</a></li>
				<li><a href="#info" class="scroll">Info</a></li>
				<li><a href="#press" class="scroll">Press</a></li>
				<li><a href="#contact" class="scroll">Contact</a></li>
				<li><a href="#" class="" target="_blank">Blog</a></li>
			</ul>
		</div>
	</div>

Последний раз редактировалось Igorsrt, 05.06.2018 в 22:26.
Ответить с цитированием
  #2 (permalink)  
Старый 05.06.2018, 23:02
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

вот так вот сделал
jQuery(document).ready(function($){
h = 0;
	$('.hamburger').click(function(){
	h = $('.mobile-menu').height();
		element = $('.mobile-menu');
	display = element.css('display');
	if(display == 'none')
		$('.mobile-menu').slideDown(400);

	if(display == 'block')
		$('.mobile-menu').slideUp(400);

});
 
$('.mobile-menu a').click(function(){
	$('.mobile-menu').slideUp(400);
});



    $('a.scroll').click(function() {
        $("html, body").animate({
            scrollTop: $($(this).attr('href')).offset().top - h + "px"
        }, {
            duration: 500
        });
        return false;
    });
	

});

не знаю, насколько правильно - но вроде бы работает на первый взгляд..
Ответить с цитированием
  #3 (permalink)  
Старый 05.06.2018, 23:12
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Igorsrt,
при ресейзе в большую сторону криво будет.
лучше h добавлять тем же событием что и мобильное меню выкатывает.
Ответить с цитированием
  #4 (permalink)  
Старый 05.06.2018, 23:30
Профессор
Отправить личное сообщение для Igorsrt Посмотреть профиль Найти все сообщения от Igorsrt
 
Регистрация: 21.02.2016
Сообщений: 271

Сообщение от j0hnik Посмотреть сообщение
Igorsrt,
при ресейзе в большую сторону криво будет.
лучше h добавлять тем же событием что и мобильное меню выкатывает.
а это как?... я если честно, не силен в js - все с помощью "метода тыка" да добрых советов
Ответить с цитированием
  #5 (permalink)  
Старый 05.06.2018, 23:32
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

нужно полный код глянуть страницы и скрипта
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена стилей класса Павел Турченко Элементы интерфейса 9 30.10.2015 15:24
Исчезновение меню при клике на ссылку wiserfild Элементы интерфейса 4 24.10.2015 19:50
Реализация выпадающего меню waterfly Элементы интерфейса 6 05.07.2015 12:40
Бесконечноуровневое меню на CSS ruslan_mart Ваши сайты и скрипты 5 12.01.2015 20:59
При на ведении меню мигает и открываються все пункты Dark19 Элементы интерфейса 4 23.12.2014 22:14