Рывки страницы при прокрутке к якорю

241
15 августа 2017, 16:47

Привет. Есть горизонтальное меню, которое прокручивается вместе с страницей вниз. При переходе к якорю заголовок страницы находится под меню. Добавил отступ - 90. Теперь при нажатии на кнопку заголовок сперва прячется под меню, а затем его выталкивает назад. Можно ли как то сделать, чтобы страница стразу тормозила в нужном месте? Еще заметил, что при 2-ом нажатии на кнопку некоторые якори отматываются сильней назад.

$(document).ready(function() { 
	/*handles scroll animation*/ 
	$(function() { 
	  $('a[href*=#]:not([href=#])').click(function() { 
		if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { 
		  var target = $(this.hash); 
		  target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 
		  if (target.length) { 
			$('html,body').animate({ 
			  scrollTop: target.offset().top - 90 
			}, 400); 
			return false; 
		  } 
		} 
	  }); 
	}); 
 
	/*makes nav detachable*/ 
    var viewportHeight = $(window).height() - 25; 
	var scrolled = false; 
	 
	$(window).scroll(function() {	 
	fixedNav(); 
	});	 
	 
	var fixedNav = function(){ 
		var scrollTop = $(window).scrollTop(); 
			   
		if (scrollTop > viewportHeight) {  
			$('#staticNav').addClass('fixed'); 
			scrolled = true; 
		} else if (scrolled == true && scrollTop < viewportHeight) {		 
			$('#staticNav').removeClass('fixed'); 
			$('#staticNav').addClass('unfixed'); 
			setTimeout(function () { 
				scrolled = false; 
				}, 300); 
			if (scrollTop < 200){ 
				$('#staticNav').removeClass('unfixed'); 
			} 
		} else { 
			$('#staticNav').removeClass('unfixed'); 
			$('#staticNav').removeClass('fixed'); 
		} 
		 
	}; 
});

READ ALSO
Как получить обновления из csv файла - NodeJS

Как получить обновления из csv файла - NodeJS

Как получить обновления из файла csv без загрузки всего файла при каждом изменении , и если это невозможно, то какой из наиболее эффективных...

224
Uncaught TypeError: Cannot read property &#39;checked&#39; of null

Uncaught TypeError: Cannot read property 'checked' of null

В ЧЕМ ОШИБКАкак исправить?

194
цикл js, работа с данными

цикл js, работа с данными

как в цикле перед присвоением атрибута удалить у всех абсолютно других совпадений до начала цикла этот самы атрибут selected?

199