кросс-браузерный jquery animate scrollTop

У меня возникла проблема с jquery animate scrollTop к определенному элементу div

Я использую этот код для анимации прокрутки:

$('body').animate({scrollTop: $('#sections_display').offset().top-100}, 500, function(){
    $('#ajax_load').load('file.php');
});

Но это не работает ни в Firefox, ни в IE

И когда я использую $('html').animateвместо $('body').animateне работает в Chrome.

Я также пытался использовать оба варианта: ] $('html,body').animateно проблема в функции обратного вызова $('#ajax_load').load('file.php');выполняется дважды и это вызвать файл 2 раза

Я временно решил проблему, используя php, но это решение заставило меня повторять код 2 раза на каждой странице, чтобы создать 2 массива браузеров, которые поддерживают $(' body').animateи $('html').animate.

Я искал здесь и нашел это: jquery animate scrolltop callbackНо это не сработало.

Я также пробовал:

$(window).animate

$(document).animate

$('#container-div').animate

Но это невозможно.

Могу ли я найти межбраузерный метод для достижения этой цели?

6
задан Community 23 May 2017 в 10:24
поделиться