Проблема с использованием webkit-полосы прокрутки — прокрутка вниз

#jquery #webkit #scrollbar

#jquery #webkit #полоса прокрутки

Вопрос:

Я использую ::-webkit-селектор полосы прокрутки, для которого требуется следующий css в теге body:

 body { position:absolute; top:0; left:10px; bottom:0; right:10px; overflow-y:scroll; overflow-x:hidden; }
  

Мне нужно прокрутить страницу вниз, чтобы показать элемент, который находится в нижней части страницы, используя следующий jQuery:

 $('.tester').click(function() { $('html, body').animate({ scrollTop: $(document).height() }, 'slow'); return false; }); 
  

Это поведение не работает из-за объявления position: absolute в теге body. Если я удалю это, поведение прокрутки вниз будет работать так, как ожидалось, но это испортит стиль webkit-scrollbar.

Кто-нибудь может придумать обходной путь?

Комментарии:

1. Похоже, вы также анимируете html-элемент. Что произойдет, если вы просто выполните $ («body»)

2. Привет. Я действительно пробовал это, просто попробовал еще раз, чтобы подтвердить — не работает.

3. можете ли вы прислать мне простой тестовый пример … paulkinlan@google.com

4. Конечно, просто объединил это на случай, если кто-то еще захочет взглянуть: ТЕСТОВЫЙ ПРИМЕР Если вы используете Chrome dev inspector и отключите position: absolute из тега body, поведение прокрутки будет работать. Кстати: возможно, вам придется уменьшить высоту окна браузера yoru, чтобы отображалась полоса прокрутки.

Ответ №1:

Что ж, после долгих поисков и игр я пришел к выводу, что это просто не сработает.

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

Надеюсь, это будет рассмотрено командой webkit в будущем, предоставляя способы реализации этой функциональности без необходимости прибегать к использованию абсолютного позиционирования в теге body.

К сожалению, по крайней мере, на данный момент, мне пришлось отказаться от использования пользовательских полос прокрутки, поскольку для этого проекта мне нужна функциональность scrollTop.