Làm thế nào để tạo và sử dụng animation và transition trong JavaScript

Trong JavaScript, chúng ta có thể tạo và sử dụng animation và transition để tạo hiệu ứng chuyển động và thay đổi trạng thái của các phần tử trên trang web. Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo và sử dụng animation và transition trong JavaScript.

Transition

Transition là hiệu ứng chuyển đổi trạng thái của một phần tử từ một trạng thái ban đầu sang một trạng thái khác. Chúng ta có thể sử dụng các thuộc tính CSS như transition-property, transition-duration, transition-timing-functiontransition-delay để điều khiển transition.

Ride Down Into JavaScript Dependency Hell | AppSignal Blog

Tạo transition bằng JavaScript

Để tạo transition bằng JavaScript, chúng ta cần thay đổi các thuộc tính CSS của phần tử. Ví dụ, để thêm transition cho thuộc tính width của một phần tử khi nhấp chuột vào, chúng ta có thể sử dụng mã sau:

const element = document.getElementById('myElement');

element.addEventListener('click', () => {
element.style.transition = 'width 0.3s ease-in-out';
element.style.width = '300px';
});

 

Trong ví dụ trên, chúng ta thêm một event listener cho phần tử, và khi phần tử được nhấp chuột vào, chúng ta thay đổi thuộc tính width và áp dụng transition bằng cách đặt giá trị cho thuộc tính transition.

Xử lý sự kiện kết thúc transition

Chúng ta cũng có thể xử lý sự kiện kết thúc của transition bằng JavaScript. Sự kiện transitionend sẽ được kích hoạt khi transition kết thúc. Ví dụ:

element.addEventListener('transitionend', () => {
// Xử lý sau khi transition kết thúc
});

 

Trong callback của sự kiện transitionend, chúng ta có thể thực hiện các thao tác tiếp theo sau khi transition kết thúc.

Animation

Animation là hiệu ứng chuyển động liên tục của một phần tử. Chúng ta có thể tạo animation bằng cách sử dụng CSS và điều khiển bằng JavaScript.

Tạo animation bằng CSS

Đầu tiên, chúng ta định nghĩa animation bằng CSS bằng cách sử dụng @keyframes. Ví dụ, để tạo một animation di chuyển phần tử từ vị trí ban đầu đến vị trí mới, chúng ta có thể sử dụng mã sau:

@keyframes move {
from {
transform: translateX(0);
}
to {
transform: translateX(100px);
}
}

.my-element {
animation: move 1s ease-in-out;
}

 

Trong đoạn mã trên, chúng ta định nghĩa animation move sử dụng @keyframes, cho phép phần tử di chuyển từ vị trí ban đầu đến vị trí mới. Sau đó, chúng ta áp dụng animation này cho phần tử có class .my-element bằng cách sử dụng thuộc tính animation.

Điều khiển animation bằng JavaScript

Để điều khiển animation bằng JavaScript, chúng ta có thể sử dụng các phương thức của đối tượng Animation. Ví dụ, để bắt đầu animation, chúng ta có thể sử dụng mã sau:

const element = document.getElementById('myElement');
const animation = element.animate([
{ transform: 'translateX(0)' },
{ transform: 'translateX(100px)' }
], {
duration: 1000,
easing: 'ease-in-out'
});

animation.play();

 

Trong đoạn mã trên, chúng ta tạo một animation bằng cách sử dụng phương thức animate() trên phần tử. Chúng ta chỉ định các keyframes và các tùy chọn như durationeasing. Sau đó, chúng ta gọi phương thức play() để bắt đầu animation.

GitHub - rocksdanister/lively: Free and open-source software that allows  users to set animated desktop wallpapers and screensavers powered by WinUI  3.

Trong JavaScript, chúng ta có thể tạo và sử dụng animation và transition để tạo hiệu ứng chuyển động và thay đổi trạng thái của các phần tử trên trang web. Bằng cách sử dụng các thuộc tính CSS và điều khiển bằng JavaScript, chúng ta có thể tạo các hiệu ứng động và điều chỉnh cách chuyển đổi và chuyển động của các phần tử.