JS метод Object.scrollBy()


Загальний опис

scrollBy() - це метод об'єкта Window у мові програмування JavaScript, призначений для програмної прокрутки вікна на певну кількість пікселів в заданому напрямку. Його основна сутність полягає в тому, щоб забезпечити можливість динамічного зміщення прокрутки сторінки, що може бути корисним для реалізації плавного прокручування, анімацій чи інших ефектів.

scrollBy() дозволяє вам змінювати поточне положення прокрутки вікна на вказану кількість пікселів у заданому напрямку. Його основна корисність полягає в забезпеченні динамічної зміни положення користувача на сторінці без прив'язки до конкретних подій скролінгу.

Застосування на практиці: Почнемо з базового використання scrollBy() для прокрутки вниз на 100 пікселів:

// Прокрутити вниз на 100 пікселів
window.scrollBy(0, 100);

У цьому прикладі scrollBy(0, 100) означає, що вікно буде прокручено на 100 пікселів вниз. Подібно до цього, можна використовувати scrollBy(0, -100) для прокрутки вгору на 100 пікселів.

Тепер розглянемо сценарій, де scrollBy() використовується відповідно до дій користувача, наприклад, при кліку на кнопку:

// Прокрутити вниз на 200 пікселів при кліку на кнопку з id="scrollButton"
var scrollButton = document.getElementById('scrollButton');

scrollButton.addEventListener('click', function() {
    window.scrollBy(0, 200);
});

У цьому випадку, коли користувач клікає на кнопку з ідентифікатором scrollButton, вікно автоматично прокручується вниз на 200 пікселів. Такий підхід може бути використаний для створення кнопок "прокрутити вгору" або "прокрутити вниз" на веб-сторінці.

Також, scrollBy() може бути використаний для створення плавних анімацій прокрутки. Розглянемо випадок, де прокрутка анімується протягом 500 мілісекунд:

// Плавна анімація прокрутки вниз на 300 пікселів протягом 500 мілісекунд
function smoothScrollDown() {
    window.scrollBy({
        top: 300,
        behavior: 'smooth'
    });
}

У цьому прикладі метод scrollBy() викликається з об'єктом параметрів, включаючи behavior: 'smooth', що забезпечує плавну анімацію прокрутки вниз на 300 пікселів протягом 500 мілісекунд.

З використанням scrollBy() можна створювати динамічні та адаптивні ефекти прокрутки, роблячи користування веб-сторінкою більш захоплюючим та комфортним.

автор: Bond

Порада

Використовуйте scrollBy() для створення адаптивного інтерфейсу, який реагує на розмір екрану користувача. Наприклад, під час обробки подій зміни розміру вікна можна викликати scrollBy() для плавної коригування положення.

автор: Bond
Порада

Застосовуйте scrollBy() для створення плавних переходів між різними частинами сторінки. Наприклад, при використанні навігаційного меню можна викликати метод, щоб плавно прокрутити до обраного розділу.

автор: Bond
Порада

Використовуйте scrollBy() для створення анімаційних ефектів при прокрутці сторінки. Наприклад, при події кліку на кнопці можна викликати метод, щоб плавно прокрутити до визначеного елемента з анімацією.

автор: Bond

Синтаксис

scrollBy(x-coord, y-coord)
scrollBy(options)

Параметри

xOffset

Зміщення по горизонталі, вказане у пікселях.

автор: Bond

yOffset

Зміщення по вертикалі, вказане у пікселях.

автор: Bond

Повернення

none

Повертає undefined.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 3 12 11
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Deno

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми використали метод scrollBy() для автоматичної прокрутки сторінки при її завантаженні. Позитивне значення 300 вказує на те, що прокрутка буде вниз на 300 пікселів. Це може бути корисно для автоматичного вирівнювання сторінки на певному елементі чи розділі.

// Прокрутка сторінки на 300 пікселів вниз при завантаженні
window.scrollBy(0, 300);
автор: Bond

У цьому прикладі використано метод scrollBy() для динамічної прокрутки сторінки вгору та вниз при натисканні відповідних кнопок. Елемент з класом .scroll-box відображає вміст, і його висота обмежена, щоб показати ефект прокрутки.

автор: Bond

У цьому прикладі ми створили кнопку, при кліці на яку сторінка буде плавно прокручуватися до елемента з id targetElement. Використання scrollBy() з параметром behavior: 'smooth' дозволяє отримати ефект плавної анімації прокрутки.

<button onclick="smoothScrollToElement()">Прокрутити до елемента</button>

<div id="targetElement" style="height: 500px; border: 1px solid #ccc; margin-top: 500px;">
  <!-- Контент цільового елемента -->
</div>

<script>
  // Функція для плавної прокрутки до цільового елемента
  function smoothScrollToElement() {
    // Отримання вертикальної позиції цільового елемента
    const targetElementPosition = document.getElementById('targetElement').offsetTop;

    // Використання scrollBy() для плавної прокрутки
    window.scrollBy({
      top: targetElementPosition,
      left: 0,
      behavior: 'smooth' // Встановлення плавної анімації
    });
  }
</script>
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід