JS властивість Element.scrollTop
Порада: | Використовуйте властивість
|
Порада: | Встановлюйте нове значення властивості
|
Порада: | Відстежуйте події
|
Синтаксис
Element.scrollTop
Значення
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
8 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
- |
- |
Приклади
У цьому прикладі ми використовуємо властивість scrollTop
для вертикального прокручування елемента з великим вмістом. Це може бути корисно для відображення довгих списків або текстових блоків, які не вміщаються на екрані.
const container = document.getElementById('container');
const scrollUpBtn = document.getElementById('scrollUpBtn');
const scrollDownBtn = document.getElementById('scrollDownBtn');
scrollUpBtn.addEventListener('click', () => {
container.scrollTop -= 100; // Прокручуємо вгору на 100 пікселів
});
scrollDownBtn.addEventListener('click', () => {
container.scrollTop += 100; // Прокручуємо вниз на 100 пікселів
});
У цьому прикладі ми маємо контейнер з довгим вмістом (наприклад, списком або текстом), який не вміщається на екрані. Контейнер має властивість overflow-y: auto
, що дозволяє вертикальну прокрутку, коли вміст виходить за межі контейнера.
Користувач може прокручувати вміст вгору або вниз, натискаючи відповідні кнопки.
У цьому складнішому прикладі ми створюємо функцію, яка автоматично прокручує елемент до кінця його вмісту. Це може бути корисно для створення анімованого ефекту прокрутки або для реалізації функціональності типу "Автоматична прокрутка новин".
const container = document.getElementById('container');
const startAutoScrollBtn = document.getElementById('startAutoScrollBtn');
const stopAutoScrollBtn = document.getElementById('stopAutoScrollBtn');
let autoScrollInterval;
const autoScroll = () => {
container.scrollTop += 1; // Прокручуємо вниз на 1 піксель
// Перевіряємо, чи ми досягли кінця вмісту
if (container.scrollTop + container.offsetHeight >= container.scrollHeight) {
clearInterval(autoScrollInterval); // Зупиняємо автоматичну прокрутку
}
};
startAutoScrollBtn.addEventListener('click', () => {
autoScrollInterval = setInterval(autoScroll, 20); // Запускаємо автоматичну прокрутку кожні 20 мілісекунд
});
stopAutoScrollBtn.addEventListener('click', () => {
clearInterval(autoScrollInterval); // Зупиняємо автоматичну прокрутку
});