06/04/2021, 14:49

Hướng dẫn tạo Animate Icon với CSS và Javascript - How t

Animate Icon có thể hiểu là một các icon động. Các Animate Icon có thể được sử dụng để biểu diễn các quá trình đang diễn ra của một thao tác, biểu diễn việc đang tải một tài liệu hay đơn giản hơn là để làm đẹp cho website, khiến nó trở nên có hồn và thu hút người dùng hơn. Trong bài viết này ...

Animate Icon có thể hiểu là một các icon động. Các Animate Icon có thể được sử dụng để biểu diễn các quá trình đang diễn ra của một thao tác, biểu diễn việc đang tải một tài liệu hay đơn giản hơn là để làm đẹp cho website, khiến nó trở nên có hồn và thu hút người dùng hơn. Trong bài viết này mình sẽ cùng các bạn tìm hiểu cách làm thế nào để tạo ra một Animate Icon với CSS và Javascript.

1. Xây dựng giao diện

Đầu tiên chúng ta sẽ xây dựng các thành phần, các bạn tạo file index.html và dán đoạn mã sau vào trong thẻ body:

Code
<div class="container">
  <h2>Zaidap.com.net hướng dẫn tạo Animation icon</h2>

  <div id="charging" class="fa"></div>
</div>

Chúng ta sẽ tạo ra một thẻ div để hiển thị icon, rất đơn giản phải không nào. Các bạn lưu ý tên class phải được giữ nguyên nhé, lí do thì ở phần 2 mình sẽ giải thích.

OK giờ chuyển qua bước tiếp theo.

2. Thêm CSS cho giao diện

Chúng ta đã có thành phần hiển thị rồi giờ sử dụng CSS để định dạng chúng nhé.

Đầu tiên các bạn đặt đoạn mã sau trong thẻ head để nhúng file font-awesome.min.css:

Code
<link rel="stylesheet" href="./Font-Awesomecss/css/font-awesome.min.css">

Nếu như các bạn còn chưa biết thì font-awesome là một bộ font hình biểu tượng, nó sẽ giúp chúng ta nhúng các icon vào website mà không cần dùng đến hình ảnh, link tải font-awesome mình sẽ đặt ở cuối bài viết, các bạn tải về và giải nén vào thư mục Font-Awesomecss nhé. Việc sử dụng font awnsome để tạo icon chính là lí do mà mình yêu cầu các bạn giữ nguyên tên các class ở bước 1.

Bước tiếp theo chúng ta sẽ định dạng phần icon này để nó dễ nhìn hơn một chút, các bạn đặt đoạn CSS dưới đây vào bên trong thẻ style:

Code RUN
<style type="text/css">
  .container {
    width: 90%;
    height: 700px;
    margin: auto;
    text-align: center;
  }
  #charging {
    font-size:48px;
  }
</style>

Chúng đều là các đoạn code rất đơn giản nên mình cũng không cần giải thích gì thêm nữa.

3. Thêm xử lý với Javascript

Vậy là đã xong phần giao diện, giờ chúng ta sẽ sử dụng Javascript để icon thực hiện việc chuyển động nhé.

Các bạn thêm đoạn script này vào sau thẻ body:

Code RUN
<script>
  function chargebattery() {
    var a;
    a = document.getElementById("charging");
    a.innerHTML = "&#xf244;";
    setTimeout(function () {
        a.innerHTML = "&#xf243;";
      }, 1000);
    setTimeout(function () {
        a.innerHTML = "&#xf242;";
      }, 2000);
    setTimeout(function () {
        a.innerHTML = "&#xf241;";
      }, 3000);
    setTimeout(function () {
        a.innerHTML = "&#xf240;";
      }, 4000);
  }
  chargebattery();
  setInterval(chargebattery, 5000);
</script>

Thuật toán ở đây khá đơn giản:

Mình sẽ sử dụng các icon được cung cấp bởi Font Awesome. sau khi gọi hàm chargebattery() thì sau mỗi một giây, mình sẽ thay đổi icon hiển thị, và cứ sau mỗi 5s mình sẽ gọi lại hàm chargebattery() để phần icon chạy lại từ đầu. Thực chất ở đây chỉ là việc thay đổi các icon theo thời gian tương tự như nguyên tắc làm flipbook.

OK xong rồi, giờ các bạn chạy file index.html để xem thành quả mình vừa tạo ra nhé!

4. Lời kết

Như vậy, qua bài viết này mình đã cùng các bạn tạo một Animate icon đơn giản. Hi vọng nó sẽ giúp các có thêm sự lựa chọn trong quá trình xây dựng website, nếu có bất cứ thắc mắc nào các bạn có thể để lại trong phần bình luận, hẹn gặp lại trong các bài viết tiếp theo trên Zaidap.com.net.

Tham khảo: w3schools.com

DEMO

Chuyên đề học lập trình web: Học phần HTML / CSS

Đây là chương thứ nhất trong chuyên đề tự học lập trình web với PHP. Trong chương này chúng ta sẽ học HTML và CSS trước.

Các bạn hãy sub kênh để ủng hộ mình nhé. Link chuyên đê tại đây.

Trịnh Tiến Mạnh

27 chủ đề

6824 bài viết

Cùng chủ đề
0