Задать вопрос
darkleviathan
@darkleviathan

Как убрать конфликт между якорями и хедером на js?

Есть вот такой код:
function setHeaderBackground() {		
		var scrollTop = jQuery(window).scrollTop(); // our current vertical position from the top	
		
		if (scrollTop > 300 || jQuery(window).width() < 700) { 
			jQuery('#header .top').addClass('solid');
		} else {
			jQuery('#header .top').removeClass('solid');		
		}
	}


Он отвечает за эффект появления и изменения размера затемненного фона меню хедера.При начальной позиции хедер прозрачен, а при скроле он затемняется в цвет, уменьшается и прилипает к верхней части екрана fixed.Так вот, при данном коде не работают якоря на одностраничнике. Если код убрать, все работает нормально.
Возможно кто-то подскажет где ошибка, или как данный код модифицировать.

ссылка на сайт test-darkleviathan.xyz/test
  • Вопрос задан
  • 177 просмотров
Подписаться 1 Средний 6 комментариев
Решения вопроса 1
darkleviathan
@darkleviathan Автор вопроса
Всем спасибо за помощь.Решил уже сам.
Все оказалось гораздо проще.В данном случае мне предоставили уже кем-то сделанный шаблон, и человек писавший код что-то перемудрил.
Проблема решилась тем, что я убрал напрочь этот кусок кода:
jQuery('#scrollToContent').click(function(e){
		e.preventDefault();
		jQuery.scrollTo("#portfolio", 1000, { offset:-(jQuery('#header .top').height()), axis:'y' });
	});

	jQuery('nav > ul > li > a').click(function(e){
		e.preventDefault();
		jQuery.scrollTo(jQuery(this).attr('href'), 400, { offset:-(jQuery('#header .top').height()), axis:'y' });
	})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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