Показать сообщение отдельно
  #55 (permalink)  
Старый 12.07.2017, 17:19
Аспирант
Отправить личное сообщение для cadijob Посмотреть профиль Найти все сообщения от cadijob
 
Регистрация: 11.07.2017
Сообщений: 38

Точно. Убрал a.preventDefault(); и якоря без jQ заработали, а с ним нет.
Вот так смотрю offset :
var id  = $(this).attr('href');
            //узнаем высоту от начала страницы до блока на который ссылается якорь
            top = $(id).offset().top;
            console.log($(top));

И длина(lenght) всегда равна единице.
В чём может быть проблема?
В уроке -
$(document).ready(function(){
	$("#menu").on("click","a", function (event) {
		//отменяем стандартную обработку нажатия по ссылке
		event.preventDefault();

		//забираем идентификатор бока с атрибута href
		var id  = $(this).attr('href'),

		//узнаем высоту от начала страницы до блока на который ссылается якорь
			top = $(id).offset().top;
		
		//анимируем переход на расстояние - top за 1500 мс
		$('body,html').animate({scrollTop: top}, 1500);
	});
});

Но что с preventDefault();, что без, ничего не меняется.

Последний раз редактировалось cadijob, 12.07.2017 в 17:50.
Ответить с цитированием