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

Программирование на jquery
Ответить
Anonymous
 Та же старая проблема: .scrollTop(0) не работает в Chrome и Safari.

Сообщение Anonymous »

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

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

В Firefox и ie (блех) ScrollTop(0) работает отлично. Однако, как указано в вопросе, не так уж и много в моих любимых браузерах.

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

Код: Выделить всё

$("body,html,document").each(function(){ console.log($(this).scrollTop()); });
Результаты не были приятными, они говорят мне, что верхняя часть прокрутки уже равна 0 и, следовательно, даже не пытается прокрутитьTop, или, по крайней мере, я так «думаю» до сих пор.

И прежде чем вы спросите, я сделал этот консольный вызов для каждого из этих трех элементов, поскольку верхняя часть прокрутки документа должна быть покрыта одним из этих элементов (я бы подумал, что тело, но, как и в случае с ie, вам нужно вызвать 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), чтобы опубликовать все это, но чтобы РАЗЪЯСНИТЬ, что я сделал:
  • Исправлены верхний, нижний колонтитул и боковая панель, оставляющая содержимое для прокрутки с помощью полосы прокрутки документа.
  • на данный момент реализовано очень мало javascript или jquery, почти 0 пользовательских CSS, не считая фиксации положения заранее указанных элементов.
  • "контент" создается ajax с помощью функции jQuery .load на основе элементов списка, на которые нажимают в навигаторе боковой панели.

temp Fiddle
больше не работает


Подробнее здесь: https://stackoverflow.com/questions/931 ... ome-safari
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»