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

Почему работает в chrome, но не работает в firefox?

<script>
	$(document).ready(function() {
	$('a[href^="#"]').click(function(){
	var el = $(this).attr('href');
	$('body').animate({
	scrollTop: $(el).offset().top}, 700);
	return false;
	});
	});
</script>

якоря вида <a id="1" name="1"></a>
Почему в хроме работает, а в файрфоксе не работает ни через скрипт ни через стандартные якоря? Я так понимаю скрипт в файрфокс работает, но некорректно.
  • Вопрос задан
  • 2791 просмотр
Подписаться 2 Оценить Комментировать
Решения вопроса 1
afishr
@afishr
make const not var
Для Firefox нужно использовать
$('html').animate({
         scrollTop: $(el).offset().top}, 700);
});

Но этот вариант вроде как не подходит для Хрома, так что нужно использовать и с body и с html
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@zwoc
Нашел похожий вопрос:

stackoverflow.com/questions/3163615/how-to-scroll-...

Там решение проблемы решилось обертыванием scrollTop при помощи единичных кавычек, т.е.
$('body').animate({
    'scrollTop' : $(el).offset().top}, 700);
  return false;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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