@dk-web

Window.location.hash не работает в firefox и ie — почему?

Ну вот и дошли руки до тестирования моего творения в разных браузерах...
Разочарование полное... думал все предусмотрел по стилям, ан нет... и никакие autoprefixerы не спасли.
Но пока речь не об этом.

В Firefox и IE(11) не срабатывает следующий скрипт - прописывающий при скроле в адресную строку позицию текущего блока - а-ля url раздела.
function checkSection() {
	$(".block_section").each(function(){
		var
			$this=$(this),
			topEdge=$this.offset().top,
			bottomEdge=topEdge+$this.height(),
			wScroll=$(window).scrollTop();
     
			if (topEdge<wScroll && bottomEdge>wScroll) {
				var
					currentId=$this.attr('id'),
					reqLink=$(".nav_item_link").filter('[href="#'+ currentId+'"]');
					reqLink.closest('.nav_item').addClass('active')
					.siblings().removeClass('active');
					// window.location.hash=currentId;
			}
	});
}
/*Навигация */
$(window).scroll(function(){
		checkSection();
});

Делал по видео-уроку... в Хроме и Опере отрабатывает.. разве, что кажется экран дергается, когда по ссылкам нажимаешь...
А в FF и IE браузер после добавленияhash "застревает"... и не дает скроллить - экран дергается на месте....
  • Вопрос задан
  • 510 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
History API
В частности
history.pushState(null, null, '#myhash')
И следите за тем, чтобы у хеша был знак #
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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