У меня есть простая настройка, позволяющая загружать и прокручивать окно в стиле «справки» до определенной точки на странице. Более или менее код выглядит так:
var target = /* code */;
target.offsetParent().scrollTop(target.offset().top - fudgeValue);
Цель прокрутки и значение выдумки определяются парой подсказок, пропущенных на странице, и у меня нет проблем с этой частью этого механизма где-либо. В Firefox и IE8 приведенный выше код работает точно так, как я хочу: поле прокрутки (в данном случае тело страницы) корректно прокручивает содержимое в нужную точку окна, когда ему говорят об этом.
Однако в Chrome и Safari вызов scrollTop (), по-видимому, вообще ничего не делает. Все числа в порядке, и цель ссылается на правильную вещь (а offsetParent () действительно является элементом body), но ничего не происходит. Насколько я могу судить по поиску в интернете, это должно сработать. Что-то смешное в рендере под Safari и Chrome?
Это jQuery 1.3.2, если это имеет значение.
Тестовая страница: http://gutfullofbeer.net/scrolltop.html