Показать сообщение отдельно
  #1 (permalink)  
Старый 08.01.2017, 15:28
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

Не работает scrollTop() на сайте
Добрый день, обнаружил проблему которая ввергла меня в панику))

есть вот такой вот, простенький скрипт:
$(document).ready(function(){ 
	$('a[href*="#"]').bind("click", function(e){ 
		var anchor = $(this); 
		$('body').animate({ 
			scrollTop: $(anchor.attr('href')).offset().top
		}, 1000);
		return false;
	});
});


Он обеспечивает плавный переход по якорной ссылке. Всегда работал, а тут как по волшебству перестал. И консоль нечего не выдает, просто при нажатии на якорную ссылку нечего не проходит.

Я стал пошагово разбираться в чем же дело и обнаружил что scrollTop() просто не работает.

То есть беру к примеру, вот это:
$('body').animate({ 
	scrollTop: $(anchor.attr('href')).offset().top
}, 1000);


меняю переменную anchor.attr('href'), на реальный существующий id блока. получается:
$('body').animate({ 
	scrollTop: $('#news').offset().top
}, 1000);


И запускаю все это дело через консоль - нечего.

Пошел дальше, написал парочку скриптов в которых используется scrollTop(), например вот этот:
$(window).on('scroll', function() {
	if ($(window).scrollTop() + $(window).height() > $('#news').outerHeight()) {
		console.log('я тут')
	}
});


Тоже нечего, от сюда проситься вывод что scrollTop() не работает на данном сайте. Причину понять я не могу, помогите пожалуйста разобраться.

На всякий случай, ссылка на сайт
Ответить с цитированием