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

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

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

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

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

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

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

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

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

Для роботи з властивістю element.style.transformOrigin вам потрібно спочатку вибрати елемент у DOM. Це можна зробити за допомогою методів, таких як document.getElementById або document.querySelector.

Приклад:

let element = document.getElementById('myElement');
element.style.transformOrigin = 'top left';
element.style.transform = 'rotate(45deg)';

У цьому прикладі елемент з ідентифікатором myElement обертається на 45 градусів навколо точки, яка знаходиться у верхньому лівому куті елемента. За замовчуванням, точка трансформації знаходиться в центрі елемента (50% 50%), але її можна змінити на будь-яку іншу позицію, використовуючи одиниці вимірювання, такі як відсотки (%), пікселі (px) або ключові слова (top, bottom, left, right, center).

Наступний приклад показує, як змінити точку трансформації для масштабування елемента:

let element = document.getElementById('myElement');
element.style.transformOrigin = 'bottom right';
element.style.transform = 'scale(1.5)';

Тут елемент масштабується в 1.5 рази навколо точки, що знаходиться у нижньому правому куті. Це корисно, коли вам потрібно, щоб елемент збільшувався або зменшувався від певної точки, а не від центру.

Крім ключових слів і відсотків, ви також можете використовувати пікселі для більш точної настройки точки трансформації:

let element = document.getElementById('myElement');
element.style.transformOrigin = '30px 40px';
element.style.transform = 'rotate(30deg)';

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

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

let arm = document.getElementById('arm');
arm.style.transformOrigin = 'top left';
arm.style.transform = 'rotate(90deg)';

Важливо враховувати, що transformOrigin впливає на всі типи трансформацій, включаючи rotate, scale, skew та translate, тому використання цієї властивості допомагає досягти бажаних ефектів з високою точністю.

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

Порада:

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

Порада:

Поєднуйте transformOrigin з іншими CSS-властивостями для створення плавних анімацій. Використовуйте transition разом з transform і transformOrigin, щоб зробити зміни плавними та природними. Це допоможе вам покращити користувацький досвід, роблячи анімації більш привабливими.

Порада:

Налаштування transformOrigin може допомогти вам створити анімації масштабування з певної точки. Замість того щоб масштабувати елемент з його центру, ви можете змінити точку масштабування, щоб створити цікаві візуальні ефекти. Наприклад, ви можете збільшити елемент від нижнього правого кута, встановивши transformOrigin на 'bottom right'.

Синтаксис

element.style.transformOrigin

Значення

Return

Переглядачі

Переглядач

1

1

3

8

12

Переглядач

4.4

18

4

1

Переглядач

-

-

Приклади


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

Цей приклад показує, як створити анімацію руху руки при наведенні курсора. Встановлюючи transformOrigin на 'top right', ми задаємо точку обертання на плечі руки. При наведенні курсора рука нахиляється на 20 градусів, а при відведенні повертається в початкове положення, що створює ефект природного руху.

let hand = document.getElementById('hand');
hand.style.transformOrigin = 'top right';
hand.style.transition = 'transform 0.5s';
hand.addEventListener('mouseover', () => {
    hand.style.transform = 'rotate(20deg)';
});
hand.addEventListener('mouseout', () => {
    hand.style.transform = 'rotate(0deg)';
});

Цей приклад демонструє, як створити ефект відкриття дверей. Встановлюючи transformOrigin на 'left center', ми визначаємо точку обертання вздовж лівого краю дверей. При натисканні на елемент, він обертається на 90 градусів по осі Y, створюючи ефект відкриття.

let element = document.getElementById('door');
element.style.transformOrigin = 'left center';
element.style.transition = 'transform 1s';
element.addEventListener('click', () => {
    element.style.transform = 'rotateY(90deg)';
});