Pull to refresh

Скролл в Хроме

Lumber room
image

Наверняка практически все, кто установил Chrome от Google, столкнулись с неприятной штукой. А именно — Хром не даёт пользователю использовать скролл на мыши для вертикальной прокрутки контента страниц.
Читать дальше →
Total votes 13: ↑7 and ↓6 +1
Views 1.4K
Comments 19

Вертикальный скрол c краткой информацией.

JavaScript *
Когда то давно, не помню где я читал о том, что обычный скрол можно сделать более функциональным и предлагалось ряд решений.
Мне эти идеи понравились и вот спустя много лет :)…
Предлагаю свою реализацию на javascripte. Идея в том чтобы на фоне скрола показывать эскиз всего текста, а с помощью движка скрола видимую часть текста. При таком подходе сразу видно где находится картинка, заголовок, а где параграф.
Читать дальше →
Total votes 91: ↑88 and ↓3 +85
Views 1.8K
Comments 85

WebKit научился стилизовать скроллбары

Lumber room
Пример
Незамеченной прошла новость недельной давности о том, что в последних сборках WebKit добавлена возможность переопределять внешний вид скроллбаров во всех элементах, где они могут встречаться:
  • контейнерах со стилями overflow
  • выпадающих списках
  • мульти-списках (<select multiple>)
  • текcтовых полях ввода (<textarea>)


Нововведение пока не реализовано в других движках (что может свести его распространённость к нулю), но тем не менее, уверен, оно будет работать на общее благо, показывая хороший пример для подражания и помогая разработчикам не сидеть на месте. Ниже — перевод оригинальной публикации.

Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views 2.3K
Comments 20

Волшебный скролл полускрытых кнопок, который может убить и ваш вечер

Opera
Есть стандартная разметка скроллера, во внутреннем блоке кнопки. При клике на полускрытую кнопку внутренний блок скроллится так, что кнопка становится в середине внешнего блока.

Опера 10.63 win7

Код
<div style="float:left;height:32px;margin-right:5px;overflow:hidden;position:relative;width:330px;">
	<div class="scroll-wrapper" style="left: 0px;position:relative;width:5000px;">
<button>Button 1</button>
<button>Button 2</button>
<button>Button 3</button>
<button>Button 4</button>
<button>Button 5</button>
<button>Button 6</button>
<button>Button 7</button>
<button>Button 8</button>
<button>Button 9</button>
<button>Button 10</button>
<button>Button 11</button>
	</div>
</div>


Линк https://dl.dropbox.com/u/2899751/opera-scroll-bug.html
Для явления волшебного скролла нажать «Button 5». Cкролл на столько волшебный, что скроллит с отключенным javascript.
Total votes 46: ↑25 and ↓21 +4
Views 977
Comments 26

Улучшаем «бесконечный скроллинг»

CSS *JavaScript *
В 2011 году очень модно было (по-моему, эта мода пошла от Фейсбука) делать у себя на сайтах «бесконечный скроллинг»: это когда пользователь крутит-крутит колесом мыши, и всё новые результаты поиска подгружаются Аяксом внизу страницы, превращая обычный скроллинг в бесконечный и вызывая у столкнувшегося с этим в первый раз пользователя «когнитивный диссонанс».

Также недавно я видел на этом сайте статью, в которой автор выражал своё недовольство «бесконечным скроллингом» и призывал использовать старую добрую «паджинацию».
Читать дальше →
Total votes 37: ↑27 and ↓10 +17
Views 33K
Comments 77

Кроссбаузерный скроллинг

Website development *JavaScript *Development of mobile applications *
Tutorial
На сегодняшний день эффекты при скроллинге набрали достаточно большую популярность (так называемый параллакс). Но, к сожалению, эти эффекты нейтивно не поддерживаются мобильными устройствами. Не так давно Mark Dalgleish предложил свой вариант решения этой проблемы:

Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Views 14K
Comments 3

Scrollissimo – плагин для плавной скролл-анимации

JavaScript *HTML *
Scrollissimo


В последнее время все большую популярность набирают анимации, проигрываемые по мере прокрутки страницы. Однако, я заметил, что подавляющее большинство браузеров не создано для таких анимаций. Прокрутка страниц мышью в них происходит не плавно (как в Firefox), а ступенчато. В результате скролл-анимации на страницах проигрываются тоже рывками. По моему мнению, проблема здесь совсем не в браузерах, а в плагинах, которые используются для создания этих анимаций. Потому что именно они допускают резкие скачки. Я считаю, что для любой анимации должна быть какая-то максимальная скорость воспроизведения, при которой анимация будет плавной, а пользователь сможет понять, что же произошло на странице. Если вы со мной согласны, то плавно и без рывков перемещайтесь под кат.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views 30K
Comments 15

Пишем свою стратегию для виртуального скролла из Angular CDK

TINKOFF corporate blog Website development *JavaScript *Angular *TypeScript *
Tutorial

Привет!


В Angular CDK в седьмой версии появился виртуальный скролл.


Он отлично работает, когда размер каждого элемента одинаков, — причем прямо «из коробки». Мы просто задаем размер в пикселях и указываем, к какому элементу нужно прокрутить контейнер, сделать ли это плавно, а также можем подписаться на индекс текущего элемента. Однако что делать, если размер элементов меняется? Для этого в CDK предусмотрен интерфейс VirtualScrollStrategy, реализовав который мы научим скролл работать с нашим списком.


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


image

Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Views 8.7K
Comments 2

Кастомный скроллбар в Angular

TINKOFF corporate blog Website development *CSS *JavaScript *Angular *

После вступления Edge в доблестные ряды Chromium-браузеров кастомизация скроллбаров через CSS отсутствует только в Firefox. Это здорово, но кроме Firefox у CSS-решения есть масса ограничений. Посмотрите, какую черную магию приходится применять для плавного исчезновения. Чтобы получить полный контроль над внешним видом, по-прежнему нужно прибегать к JavaScript. Давайте разберемся, как это по-хорошему сделать через компонент Angular.


Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views 6.8K
Comments 12

JavaScript: заметка о requestAnimationFrame и requestIdleCallback

Timeweb Cloud corporate blog Website development *JavaScript *Browsers


Привет, друзья!


Можете ли вы ответить на вопрос о том, в чем заключается разница между requestAnimationFrame и requestIdleCallback?


Если можете, то я завидую глубине ваших знаний. Я не смог, когда меня об этом спросили. Более того, в тот момент я даже не знал о существовании интерфейса requestIdleCallback. Теперь знаю и хочу с вами этими знаниями поделиться.


Сразу уточним, что названные интерфейсы предоставляются браузером и к ECMAScript отношения не имеют.


Что касается поддержки, то с requestAnimationFrame все хорошо, а с requestIdleCallback, в основном из-за Safari, этого современного IE, ситуация хуже.


Рассматриваемые интерфейсы позволяют разработчикам получать доступ к процессу рендеринга страницы. Также они очень тесно связаны с циклом событий (event loop) браузера.

Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Views 12K
Comments 6

Контролируем scroll полностью или реализация события React: onRenderChildrenComplete

Website development *ReactJS *
Tutorial

Бывало так, что после загрузки страницы, вам нужно сделать прокрутку экрана к заданному месту? Все ли всегда получалось с первого раза? И что делать если скролл все равно дергается в процессе загрузки страницы?

Если вам интересны ответы на эти вопросы, то прошу под кат (осторожно, много gif трафика!)

Читать далее
Total votes 5: ↑5 and ↓0 +5
Views 9.5K
Comments 7

Как победить scroll в javascript

CSS *JavaScript *HTML *ReactJS *
Sandbox

Привет, Хабр!

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

В частонсти, в статье рассмотрены следующие вопросы:

- Как сделать таблицу с фиксированной шапкой и скроллом в body?

- Как быть, когда cодержимое таблицы съезжает относительно шапки при появлении скролла? Как избежать использования overflow: 'scroll' в данной ситуации. Установка css-переменной scroll-width.

- Оптимизация и кастомизация скролла: плавность, scroll margin, изменение цвета и формы.

Читать далее
Total votes 16: ↑12 and ↓4 +8
Views 12K
Comments 8

Погружаемся в работу со скроллом в Jetpack Compose

Skyeng corporate blog Development of mobile applications *Development for Android *

В этой статье я хочу поделиться опытом работы со скроллом в приложении, написанном на Jetpack Compose.

Какое-то время назад я решил, что надо попробовать Compose в деле и начал делать pet project приложение Хотелки, суть которого в записи своих желаний и возможности делиться списком желаний с помощью любого мессенджера.

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

Читать далее
Total votes 12: ↑12 and ↓0 +12
Views 3K
Comments 1

Sliver во Flutter, или как работает скролл

Surf corporate blog Programming *Development of mobile applications *Dart *Flutter *

Если вы уже встречались со сливерами, то наверняка оценили всю «прелесть» работы с ними. На самом деле они совсем не так трудны и ужасны.

Чтобы просто начать их использовать, как чаще всего бывает во Flutter, разбираться особо не нужно. А вот чтобы полноценно использовать их и при этом не страдать, придётся понять, как они работают. Именно этим мы и займемся. 

Читать далее
Total votes 8: ↑7 and ↓1 +6
Views 5K
Comments 4