< Return to Video

Using the event properties (Video Version)

  • 0:01 - 0:03
    Bạn có nhớ tại sao tôi lại
  • 0:03 - 0:06
    biến trang này thành cá sấu không?
  • 0:07 - 0:10
    Vì tôi rất rất sợ cá sấu.
  • 0:11 - 0:16
    Giờ tôi nghĩ là mình đã sẵn sàng để đối mặt với nỗi sợ của mình hơn nữa,
  • 0:16 - 0:19
    để còn đưa nhiều cá sấu lên trang này hơn nữa.
  • 0:20 - 0:22
    Làm sao làm thế được?
  • 0:23 - 0:24
    Tôi nghĩ là sẽ rất hay
  • 0:24 - 0:27
    nếu tôi có thể bao phủ cả trang web này
  • 0:27 - 0:30
    với ảnh cá sấu khi tôi click chuột.
  • 0:31 - 0:33
    Ta sẽ lập trình cái đó.
  • 0:34 - 0:36
    Tôi đã viết trước một đoạn
  • 0:36 - 0:39
    pseudocode trong thẻ script này đây.
  • 0:40 - 0:42
    Nếu bạn không biết pseudocode là gì,
  • 0:42 - 0:45
    thì nó là một dạng code cho người thường dễ đọc hơn.
  • 0:46 - 0:49
    Tôi thấy dùng pseudocode thì sẽ dễ hiểu hơn,
  • 0:49 - 0:52
    nhất là với những tính năng phức tạp
  • 0:52 - 0:53
    mà tôi muốn lập trình.
  • 0:54 - 0:58
    Giờ tôi sẽ chuyển đoạn pseudocode này thành code thật.
  • 1:00 - 1:04
    Việc đầu tiên là khi người dùng click vào trang web.
  • 1:05 - 1:07
    Tôi cần nhận được thông tin bất cứ khi nào
  • 1:07 - 1:09
    người dùng click vào bất cứ điểm nào trên trang web.
  • 1:10 - 1:12
    Để được thế thì tôi sẽ thêm một event listener
  • 1:12 - 1:17
    vào cái . Viết... "body"
  • 1:17 - 1:19
    rồi dùng hàm on().
  • 1:20 - 1:21
    rồi tên của event: "click".
  • 1:21 - 1:24
    Rồi ta nhập vào một hàm callback.
  • 1:26 - 1:28
    Trong hàm callback này,
  • 1:28 - 1:31
    ta cần tạo một ảnh mới.
  • 1:32 - 1:35
    Tôi sẽ lưu nó vào một biến...
  • 1:36 - 1:39
    $img = ... rồi nhập vào thẻ ,
  • 1:39 - 1:42
    và ta đổi nguồn ảnh đi...
  • 1:42 - 1:47
    tôi sẽ dùng nguồn ảnh trên này,
  • 1:48 - 1:53
    và đặt chiều rộng là 100,
  • 1:55 - 1:56
    rồi ta cần
  • 1:56 - 1:58
    đặt ảnh này vào một chỗ nào đó trên trang web.
  • 1:59 - 2:01
    Tôi sẽ đặt nó vào cuối body.
  • 2:02 - 2:03
    Được rồi.
  • 2:05 - 2:08
    Hiện tại thì khi click vào, tôi mới chỉ thấy
  • 2:08 - 2:11
    ảnh cá sấu này hiện ra phía cuối trang web.
  • 2:12 - 2:13
    Nếu muốn, bạn có thử dừng bài lại
  • 2:13 - 2:15
    và tự thử xem nó thế nào.
  • 2:16 - 2:19
    Nhưng giờ tôi lại muốn đặt ảnh đó vào vị trí
  • 2:19 - 2:22
    đúng như vị trí tôi click chuột trên trang web nữa.
  • 2:23 - 2:24
    Làm sao để biết vị trí click ở đâu?
  • 2:26 - 2:28
    Mỗi khi có event của con chuột,
  • 2:28 - 2:31
    trình duyệt sẽ thông báo cho trang web thông tin đó,
  • 2:32 - 2:36
    và jQuery sẽ lưu thông tin đó trong đối được event của jQuery.
  • 2:37 - 2:39
    Thế đối tượng event đó ở đâu?
  • 2:40 - 2:42
    Thực ra là jQuery có truyền đối tượng nó vào
  • 2:42 - 2:45
    làm parameter đầu tiên của hàm callback.
  • 2:46 - 2:49
    Tôi sẽ đặt tên cho parameter đó để ta con sử dụng
  • 2:49 - 2:52
    tên nó ở trong hàm callback.
  • 2:53 - 2:56
    Đôi khi tôi sẽ muốn console log cái event này
  • 2:56 - 2:59
    để kiểm tra nội dung các thuộc tính của nó trước khi làm gì với nó,
  • 3:00 - 3:02
    để xem làm mình sẽ làm việc với những thông tin gì.
  • 3:03 - 3:05
    Nếu bạn dừng video này lại và click vào trang thử xem,
  • 3:05 - 3:08
    bạn sẽ thấy trong log có một đối tượng jQuery
  • 3:08 - 3:11
    với mỗi dãy dài các thuộc tính.
  • 3:11 - 3:13
    Bạn cũng có thể đọc tài liệu của jQuery
  • 3:13 - 3:16
    để xem có những thuộc tính gì và ý nghĩa của chúng là gì.
  • 3:18 - 3:19
    Có 2 thuộc tính mà tôi
  • 3:19 - 3:23
    quan tâm đến chính là pageX và pageY,
  • 3:23 - 3:25
    đó là toạ đọ của
  • 3:25 - 3:27
    vị trí click chuột trên trang web
  • 3:27 - 3:30
    tôi có thể dùng toạ độ đó để xác định vị trí cho ảnh bằng CSS.
  • 3:32 - 3:35
    Đầu tiên tôi sẽ
  • 3:35 - 3:39
    đặt thuộc tính CSS là absolute.
  • 3:42 - 3:44
    Nếu bạn không nhớ CSS absolute là thế nào,
  • 3:44 - 3:46
    bạn có thể quay lại coi khoá học về HTML CSS.
  • 3:48 - 3:49
    Giờ tôi sẽ đặt vị trí
  • 3:49 - 3:51
    theo vị trí con chuột.
  • 3:51 - 3:53
    tôi sẽ đặt
  • 3:55 - 3:58
    top bằng
  • 3:58 - 4:01
    'event.pageY',
  • 4:01 - 4:04
    tức là sử dụng thuộc tính pageY
  • 4:04 - 4:06
    của đối tượng event trong jQuery mà
  • 4:06 - 4:08
    trình duyệt nhập vào hàm callback này.
  • 4:10 - 4:13
    Rồi tôi đặt giá trị left
  • 4:14 - 4:16
    là 'event.pageX'.
  • 4:18 - 4:22
    Tôi sẽ thêm đơn vị nữa: px,
  • 4:23 - 4:25
    bởi vì ta cần xác định đơn vị
  • 4:25 - 4:27
    để CSS biết phải dùng đơn vị nào
  • 4:27 - 4:28
    hay là dùng phần trăm,
  • 4:28 - 4:29
    đại loại thế.
  • 4:29 - 4:31
    Ta dùng pixel, bỏi vì
  • 4:31 - 4:33
    pageY và pageX là số pixel.
  • 4:33 - 4:35
    Chúng là các giá trị pixel.
  • 4:35 - 4:38
    Okay, giờ đến chỗ hay này.
  • 4:38 - 4:40
    Hãy dừng bài lại, click thử vào trang xem.
  • 4:41 - 4:44
    Hay nhỉ, cá sấu xuất hiện mọi nơi.
  • 4:45 - 4:47
    Giờ thì tôi thích cá sấu rồi, không sợ nữa.
  • 4:50 - 4:52
    Vậy là cái đối tượng event này có thể rất hữu dụng.
  • 4:53 - 4:54
    Ta có thể sử dụng nó trong các trường hợp như thế này
  • 4:54 - 4:56
    để tìm vị trí của con chuột,
  • 4:57 - 4:59
    ví dụ như để làm ứng dụng vẽ, hay là game click chuột,
  • 4:59 - 5:01
    hay tương tác kéo thả.
  • 5:02 - 5:04
    Ta cũng có thể dùng đối tượng event
  • 5:04 - 5:07
    để biết là phím nào được nhấn khi event xảy ra,
  • 5:07 - 5:09
    để viết ứng dụng tương tác với bàn phím
  • 5:09 - 5:11
    như là game 2d hay là
  • 5:11 - 5:13
    trình soạn thảo code online, như là trang này đây.
  • 5:13 - 0:00
    Hay nhỉ.
Title:
Using the event properties (Video Version)
Description:

more » « less
Video Language:
English
Duration:
07:23

Vietnamese subtitles

Incomplete

Revisions