Hướng dẫn javascript animation - hoạt hình javascript

Để tạo chuyển động cho đối tượng, bạn có thể làm bằng nhiều cách như sử dụng CSS3, Jquery, hoặc các framework animation đầy rẫy trên mạng :D. Hôm nay Demos Việt Nam sẽ hướng dẫn bạn cách tạo chuyển động đơn giản nhất bằng 1 vài lệnh jquery đơn giản.

Đầu tiên, chúng ta tạo html đơn giản cho đối tượng trước:

Hướng dẫn javascript animation - hoạt hình javascript

Tiếp theo là một tí CSS

#divsanta{
    position: absolute;
    left: 0;
    bottom: 0;
}

Sau đó áp dụng jquery bằng hàm đơn giản như sau:

var windowW = window.innerWidth - 270;
// 270 là chiều dài của tấm hình

//Di chuyển đối tượng từ trái sang phải
function moveRight(){
    $("#divsanta").animate({left: "+="+windowW}, 15000, moveLeft)
}

//Di chuyển đối tượng từ phải sang trái
function moveLeft(){
    $("#divsanta").animate({left: "-="+windowW}, 15000, moveRight)
}

$(document).ready(function() {
    //Bắt đầu chạy thôi :D
    moveRight();
});

Cùng xem thành quả nhé :D

Trong ví dụ trên, chúng ta đã thấy cách một hình ảnh di chuyển qua phải mỗi khi nhấp chuột. Chúng ta có thể tự độ hóa tiến trình này bởi sử dụng hàm setTimeout() như sau:

  • Dưới đây, chúng tôi thêm nhiều phương thức hơn. Đó là:
  • Hàm moveRight() đang gọi hàm setTimeout() để thiết lập vị trí của imgObj.
  • Chúng tôi đã thêm một hàm mới là stop() để xóa bộ bấm giờ được thiết lập bởi hàm setTimeout() và để thiết lập đối tượng tại vị trí khởi tạo.
  • Bạn thử code sau:
  • Rollover với một Mouse Event

Dưới đây là ví dụ đơn giản minh họa rollover hình ảnh với một Mouse Event.

Chúng ta cùng quan sát những gì đang được sử dụng trong ví dụ này:

Tại thời điểm tải trang này, lệnh if kiểm tra cho sự tồn tại của đối tượng Image. Nếu đối tượng Image này không có sẵn, khối này sẽ không được thực thi.

Image() constructor tạo và tải lại một đối tượng Image mới gọi là image1.

  • Thuộc tính src được gán tên của image file ngoại vi gọi là ./images/html.gif. − Hàm này gọi Hàm sau quãng thời gian duration (tính bằng mili giây) từ bây giờ.
  • Tương tự, chúng ta tạo đối tượng image2 và gán ./images/http.gif trong đối tượng này. − Hàm này gọi Hàm sau mỗi quãng thời gian duration (tính bằng mili giây).
  • Dấu # vô hiệu hóa đường link để mà trình duyệt không cố gắng tới URL khi được click. Link này là một hình ảnh. − Hàm này xóa bất cứ bộ bấm giờ nào được thiết lập bởi các hàm setTimeout().

Phương thức xử lý lỗi onMouseOver được kích hoạt khi người dùng di chuyển chuột qua link (hình ảnh đó), và onMouseOut event handler đươc kích hoạt khi người dùng di chuyển chuột ra khỏi link đó.topleft của một đối tượng để xác định vị trí của nó bất cứ đâu trên màn hình. Dưới đây là cú pháp:

// Set distance from left edge of the screen.
object.style.left = distance in pixels or points; 

or

// Set distance from top edge of the screen.
object.style.top = distance in pixels or points; 

Khi di chuyển chuột qua hình ảnh, HTTP image thay đổi từ hình ảnh đầu tiên tới hình ảnh thứ hai. Khi di chuyển chuột ra khỏi hình ảnh, thì hình ảnh ban đầu được hiển thị.

Khi di chuyển chuột ra khỏi link, hình ảnh khởi tạo đầu tiên html.gif sẽ tái xuất hiện trên màn hình.

  • Move your mouse over the image to see the resultgetElementById() để nhận một đối tượng DOM và sau đó gán nó tới một biến Global là imgObj.
  • Chúng tôi đã định nghĩa một hàm khởi tạo init() để khởi tạo imgObj, ở đây chúng tôi đã thiết lập các thuộc tính position và left của nó.init() để khởi tạo imgObj, ở đây chúng tôi đã thiết lập các thuộc tính positionleft của nó.
  • Chúng tôi đang gọi hàm khởi tạo tại thời điểm tải cửa sổ.
  • Cuối cùng, chúng tôi đang gọi hàm moveRight() để tăng khoảng cách trái bởi 10 pixel. Bạn có thể cũng thiết lập nó một giá trị âm để di chuyển nó sang cạnh trái.moveRight() để tăng khoảng cách trái bởi 10 pixel. Bạn có thể cũng thiết lập nó một giá trị âm để di chuyển nó sang cạnh trái.

Ví dụ

Bạn thử ví dụ sau:



   
      JavaScript Animation

      

   

   

      
Hướng dẫn javascript animation - hoạt hình javascript

Click button below to move the image to right

Kết quả

Animation tự động hóa

Trong ví dụ trên, chúng ta đã thấy cách một hình ảnh di chuyển qua phải mỗi khi nhấp chuột. Chúng ta có thể tự độ hóa tiến trình này bởi sử dụng hàm setTimeout() như sau:setTimeout() như sau:

Dưới đây, chúng tôi thêm nhiều phương thức hơn. Đó là:

  • Hàm moveRight() đang gọi hàm setTimeout() để thiết lập vị trí của imgObj.moveRight() đang gọi hàm setTimeout() để thiết lập vị trí của imgObj.
  • Chúng tôi đã thêm một hàm mới là stop() để xóa bộ bấm giờ được thiết lập bởi hàm setTimeout() và để thiết lập đối tượng tại vị trí khởi tạo.stop() để xóa bộ bấm giờ được thiết lập bởi hàm setTimeout() và để thiết lập đối tượng tại vị trí khởi tạo.

Ví dụ

Bạn thử ví dụ sau:



   
      JavaScript Animation

      

   

   

      
Hướng dẫn javascript animation - hoạt hình javascript

Click the buttons below to handle animation

Kết quả

Rollover với một Mouse Event

Dưới đây là ví dụ đơn giản minh họa rollover hình ảnh với một Mouse Event.

Chúng ta cùng quan sát những gì đang được sử dụng trong ví dụ này:

  • Tại thời điểm tải trang này, lệnh if kiểm tra cho sự tồn tại của đối tượng Image. Nếu đối tượng Image này không có sẵn, khối này sẽ không được thực thi.
  • Image() constructor tạo và tải lại một đối tượng Image mới gọi là image1. constructor tạo và tải lại một đối tượng Image mới gọi là image1.
  • Thuộc tính src được gán tên của image file ngoại vi gọi là ./images/html.gif.
  • Tương tự, chúng ta tạo đối tượng image2 và gán ./images/http.gif trong đối tượng này.image2 và gán ./images/http.gif trong đối tượng này.
  • Dấu # vô hiệu hóa đường link để mà trình duyệt không cố gắng tới URL khi được click. Link này là một hình ảnh.
  • Phương thức xử lý lỗi onMouseOver được kích hoạt khi người dùng di chuyển chuột qua link (hình ảnh đó), và onMouseOut event handler đươc kích hoạt khi người dùng di chuyển chuột ra khỏi link đó.onMouseOver được kích hoạt khi người dùng di chuyển chuột qua link (hình ảnh đó), và onMouseOut event handler đươc kích hoạt khi người dùng di chuyển chuột ra khỏi link đó.
  • Khi di chuyển chuột qua hình ảnh, HTTP image thay đổi từ hình ảnh đầu tiên tới hình ảnh thứ hai. Khi di chuyển chuột ra khỏi hình ảnh, thì hình ảnh ban đầu được hiển thị.
  • Khi di chuyển chuột ra khỏi link, hình ảnh khởi tạo đầu tiên html.gif sẽ tái xuất hiện trên màn hình.


   
      Rollover with a Mouse Events

      

   

   
      

Move your mouse over the image to see the result

Hướng dẫn javascript animation - hoạt hình javascript

Kết quả

Move your mouse over the image to see the result

Hướng dẫn javascript animation - hoạt hình javascript