Та же старая проблема, .scrollTop (0) не работает в Chrome и Safari

Во-первых, позвольте мне указать, я искал в Google и даже смотрел ответы, такие как this и this Однако я все еще не нашел рабочего решения для своего случая.

Я разработал страницу, которая имеет несколько фиксированных элементов, покрывающих страницу, и состоит из html5 / css3 для создания чистой «маски» над основным документом, что позволяет полосе прокрутки основного текста по-прежнему прокручивать нижележащее содержимое.

В firefox и ie (bleh) scrollTop (0) работает идеально. Однако, как указано в вопросе, не так много в моих любимых браузерах.

Я обратил внимание на то, что нужно вызвать следующее как перед событием scrollTo, так и после

$("body,html,document").each(function(){ console.log($(this).scrollTop()); });

Результаты не понравились, они говорят мне, что верхняя часть прокрутки уже равна 0 и, следовательно, даже не пытается выполнить scrollTop, или по крайней мере, это то, что я «думаю» до сих пор.

И прежде чем вы спросите, я сделал этот консольный вызов для каждого из этих трех элементов, так как верхняя часть прокрутки документа должна быть закрыта одним из этих элементов (я бы подумал, что body, но, как и в примере, вы также должны вызвать html)

Любые идеи?

К вашему сведению, это может быть странность css (хотя я действительно не могу понять, как это работает в IE, а не в chrome), но я уже пробовал следующее с отрицательными результатами:

$(window).scrollTop(0);
$(document).scrollTop(0);
$("html").scrollTop(0);
$("body").scrollTop(0);
window.scroll(0,0);
$("body,html,document").scrollTop(0);
$("body,html").scrollTop(0);

Что, я полагаю, расширяет мой вопрос, это проблема css? У меня нет внешней ссылки, и код слишком длинный (сделанный с помощью CI view Partials), чтобы опубликовать все это, но чтобы УТОЧНЕНИЕ того, что я сделал:

  • Исправлены верхний колонтитул, нижний колонтитул и боковая панель, оставляя контент для прокрутки с помощью documet полоса прокрутки
  • очень мало реализованных javascript или jquery, почти 0 настраиваемых CSS за пределами фиксации положения элементов preaid
  • "контент" ajax'd при использовании функции .load jQuery на основе элементов списка, выбранных в навигаторе боковой панели

temp Fiddle больше не вверх

7
задан Community 23 May 2017 в 12:26
поделиться