jQuery Callback Functions

Chúng ta tiếp tục về các bài học jQuery từ cơ bản đến nâng cao tại LaiXe.Xyz. Bài viết này giúp các bạn tìm hiểu jQuery Callback Functions là gì? và được sử dụng như thế nào ?
Các bạn đang xem bài viết thuộc bài học về jQuery Effects - hiệu ứng jQuery

jQuery Callback Functions là gì?

Sau khi một hiệu ứng xảy ra và hoàn thành, thì hàm sẽ được thực thi ta gọi đó là một callback functions
Trong javascript (jQuery cũng vậy) thì các câu lệnh được thực thi từng dòng một. Tuy nhiên, đối với các hiệu ứng, dòng mã tiếp theo có thể được chạy ngay cả khi hiệu ứng chưa kết thúc. Điều này có thể tạo ra những lỗi không mong muốn. Để ngăn chặn điều này, các bạn có thể tạo ra một Callback Functions.
Để hiểu và phân biệt được tình huống xảy ra lỗi, bạn hãy xem 2 ví dụ dưới đây


Các bạn hãy xem code thực hiện như sau cho hiệu ứng 1:

  $("#btn1").click(function(){
    $("#animate1").animate({height: 300}, 1000);
    $("#animate1").animate({width: 300}, 1000);
    $("#animate1").css("background","blue");
    $("#animate1").animate({width: 100}, 1000);
    $("#animate1").animate({height: 100}, 1000);
  });
Ở đoạn code trên, các bạn thấy chúng ta set background màu xanh ở dòng code $("#animate1").css("background","blue"); (background không thể set ở phương thức animate() như những thuộc tính khác)
Tuy nhiên, ngay khi bạn click vào button thì đối tượng lập tức đổi sang màu xanh. Ở đây không hề có sự chờ đợi hai hiệu ứng animate trên hoàn thành, mà nó sẽ thực hiện luôn dòng code tiếp theo



Các bạn hãy xem code thực hiện như sau cho hiệu ứng 2:

  $("#btn2").click(function(){
    $("#animate2").animate({height: 300}, 1000);
    $("#animate2").animate({width: 300}, 1000,
    function(){
      $("#animate2").css("background","blue");
     }
   );
    $("#animate2").animate({width: 100}, 1000);
    $("#animate2").animate({height: 100}, 1000);
  });
Đối với ví dụ này, các bạn có thể thấy việc set background màu xanh được thực hiện sau khi hiệu ứng thứ 2 hoàn thành, và nó được đặt trong một hàm thuộc hiệu ứng animate() thứ 2. Chúng ta gọi đó là một jQuery callback Functions

Cú pháp sử dụng

Syntax

jQuery Callback được sử dụng như sau:

$(selector).hide(speed,callback)
Chẳng hạn như ví dụ ở trên:

$("#animate2").animate({width: 300}, 1000, function(){
      $("#animate2").css("background","blue");}
   );
hoặc

$("p").hide("slow", function(){
    alert("The paragraph is now hidden");
  });
Chuyên Mục :
tháng 8 12, 2020
Bình Luận

LaiXe.Xyz

Blog Lái Xe, chia sẻ thông tin về luật giao thông đường bộ, biển báo giao thông, thông tin về xe ô tô, thi bằng lái xe các hạng bằng A1, A2, B1, B2, C, D, E, F

Thi Thử Lái Xe B2 Mới Nhất

"Tiến hành giảng dạy bộ 600 câu hỏi vào tháng 06/2020 và áp dụng thi sát hạch vào tháng 10 năm 2020. Bộ đề 600 câu hỏi sẽ được phát hành dạng sách khoảng tháng 5/2020."

DMCA.com Protection Status