Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

JS властивість CSSStyleDeclaration.perspectiveOrigin

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

element.style.perspectiveOrigin – це властивість CSS, яка визначає початкову точку перспективи для 3D-трансформацій відносно елемента. Вона дозволяє змінювати позицію вихідної точки перспективи, що впливає на вигляд тривимірних об'єктів при перегляді їх під різними кутами.

Щоб використовувати element.style.perspectiveOrigin в JavaScript, спочатку потрібно вибрати HTML-елемент, до якого ви хочете застосувати цю властивість. Найчастіше це робиться за допомогою методів document.querySelector або document.getElementById.

// Вибір елемента за ID
let element = document.getElementById('container');

// Встановлення початкової точки перспективи
element.style.perspectiveOrigin = '50% 50%';

У цьому прикладі початкова точка перспективи встановлена в центрі елемента з ID container. Це значення за замовчуванням, яке означає, що перспектива починається з центральної точки елемента.

Значення властивості

element.style.perspectiveOrigin приймає два значення, які можуть бути задані у відсотках, пікселях або інших одиницях довжини. Перше значення визначає горизонтальну позицію, а друге – вертикальну. Наприклад, 0% 0% означає верхній лівий кут, 100% 100% – нижній правий кут, а 50px 100px зміщує початкову точку на 50 пікселів вправо і 100 пікселів вниз.

Використання з тривимірними трансформаціями

Перспектива і початкова точка перспективи працюють разом для створення реалістичних 3D-ефектів. Зміна початкової точки перспективи може значно вплинути на вигляд об'єктів при їх обертанні або переміщенні у тривимірному просторі.

let container = document.getElementById('container');
container.style.perspective = '800px';
container.style.perspectiveOrigin = 'left top';

let box = document.getElementById('box');
box.style.transform = 'rotateY(45deg)';

У цьому прикладі перспектива встановлена на 800 пікселів, а початкова точка перспективи зміщена до верхнього лівого кута. Об'єкт box обертається на 45 градусів по осі Y, що створює ефект, ніби він обертається навколо верхнього лівого кута контейнера.

Динамічна зміна початкової точки перспективи

Ви можете динамічно змінювати початкову точку перспективи, щоб створити інтерактивні ефекти. Наприклад, можна змінювати perspectiveOrigin у відповідь на рух миші або інші події користувача.

let container = document.getElementById('container');
container.style.perspective = '1000px';

document.addEventListener('mousemove', (event) => {
    let xPercent = (event.clientX / window.innerWidth) * 100;
    let yPercent = (event.clientY / window.innerHeight) * 100;
    container.style.perspectiveOrigin = `${xPercent}% ${yPercent}%`;
});

У цьому прикладі початкова точка перспективи змінюється відповідно до позиції миші, що створює ефект, ніби об'єкт слідує за курсором. Це додає інтерактивності та покращує користувацький досвід, роблячи веб-сторінку більш динамічною і привабливою.

element.style.perspectiveOrigin є важливим інструментом для налаштування тривимірних сцен у веб-дизайні. Використовуючи цю властивість, ви можете змінювати вигляд і поведінку тривимірних об'єктів, створюючи реалістичні та привабливі ефекти для покращення візуального сприйняття вашого контенту.

Порада:

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

Порада:

Враховуйте розмір та форму елемента при встановленні perspectiveOrigin. Якщо ваш елемент має нестандартні розміри або пропорції, початкова точка перспективи може вплинути на те, як об'єкти всередині нього виглядатимуть при тривимірних трансформаціях. Налаштування значення perspectiveOrigin відповідно до розмірів і форми елемента допоможе досягти найкращого візуального ефекту.

Порада:

Поєднуйте perspectiveOrigin з анімаціями та переходами для створення плавних і природних ефектів. Наприклад, можна анімувати зміну початкової точки перспективи у відповідь на взаємодію користувача, що створює більш інтерактивний і залучаючий досвід. Це додасть відчуття глибини і простору вашим веб-дизайнам та зробить взаємодію з сайтом більш приємною для користувачів.

Синтаксис

element.style.perspectiveOrigin

Значення

Return

Переглядачі

Переглядач

1

1

3

8

12

Переглядач

4.4

18

4

1

Переглядач

-

-

Приклади


Цей приклад демонструє інтерактивну зміну початкової точки перспективи для тривимірного куба за допомогою двох повзунків. Користувач може змінювати значення перспективи по горизонталі та вертикалі, щоб побачити, як це впливає на вигляд куба. Це дозволяє користувачеві зрозуміти, як працює властивість perspectiveOrigin, і експериментувати з різними значеннями для досягнення бажаного візуального ефекту.

У цьому прикладі початкова точка перспективи змінюється залежно від позиції курсора миші, що створює ефект слідування об'єкта за курсором. Це надає інтерфейсу інтерактивності та дозволяє користувачеві взаємодіяти з тривимірним елементом у реальному часі, створюючи відчуття глибини і динамічності.

// Приклад 1: Інтерактивне обертання елемента з динамічною зміною точки перспективи
let container = document.getElementById('container');
container.style.perspective = '800px';

document.addEventListener('mousemove', (event) => {
    let xPercent = (event.clientX / window.innerWidth) * 100;
    let yPercent = (event.clientY / window.innerHeight) * 100;
    container.style.perspectiveOrigin = `${xPercent}% ${yPercent}%`;
    
    let box = document.getElementById('box');
    box.style.transform = `rotateX(${yPercent - 50}deg) rotateY(${xPercent - 50}deg)`;
});

У цьому прикладі початкова точка перспективи змінюється при прокручуванні сторінки, створюючи ефект паралакса. Об'єкт всередині контейнера обертається навколо своєї осі залежно від позиції скролінгу, що створює враження руху і глибини. Це корисно для довгих сторінок, де анімації перспективи можуть зробити скролінг більш привабливим і цікавим для користувачів.

// Приклад 2: Анімація перспективи при прокручуванні сторінки
let container = document.getElementById('container');
container.style.perspective = '1200px';

window.addEventListener('scroll', () => {
    let scrollPosition = window.scrollY / (document.body.scrollHeight - window.innerHeight);
    let perspectiveOriginY = scrollPosition * 100;
    container.style.perspectiveOrigin = `50% ${perspectiveOriginY}%`;
    
    let box = document.getElementById('box');
    box.style.transform = `rotateX(${scrollPosition * 360}deg)`;
});