jQuery tutorial

Hiệu ứng jQuery Hide và Show

Admin
Mar 22, 2025
5 phút đọc
545

Chào mừng bạn quay lại với chuỗi học jQuery trên CodeTutHub! Ở bài trước, chúng ta đã tìm hiểu về jQuery Events và cách xử lý sự kiện. Hôm nay, chúng ta sẽ bước sang một phần thú vị hơn – tạo hiệu ứng với jQuery, bắt đầu với Hide (ẩn) và Show (hiện).

1. Giới thiệu về jQuery Hide và Show

jQuery cung cấp các phương thức đơn giản giúp ẩn hoặc hiển thị phần tử HTML trên trang bằng hiệu ứng mượt mà.

📌 Cú pháp:

js
$(selector).hide([duration], [callback]);
$(selector).show([duration], [callback]);
  • duration(tùy chọn): thời gian hiệu ứng (ví dụ: "slow", "fast" hoặc mili giây như 1000)
  • callback(tùy chọn): hàm sẽ thực thi sau khi hiệu ứng hoàn tất

2. Ví dụ 1: Ẩn và hiện nội dung cơ bản

html
<button id="btnHide">Ẩn nội dung</button>
<button id="btnShow">Hiện nội dung</button>

<div id="content" style="width:300px;padding:20px;background:#f1f1f1;margin-top:10px;">
  Đây là đoạn nội dung cần ẩn/hiện.
</div>

<script>
$("#btnHide").click(function() {
  $("#content").hide("slow");
});

$("#btnShow").click(function() {
  $("#content").show("slow");
});
</script>

3. Ví dụ 2: Toggle – Kết hợp Hide & Show

Thay vì dùng 2 nút, bạn có thể dùng 1 nút để ẩn nếu đang hiển thị hoặc hiển thị nếu đang ẩn.

html
<button id="btnToggle">Ẩn/Hiện</button>

<div id="box" style="width:200px;height:100px;background:lightgreen;margin-top:10px;">
  Hộp màu xanh lá.
</div>


<script>
$("#btnToggle").click(function() {
  $("#box").toggle("fast");
});
</script>

4. Ví dụ 3: Sử dụng Callback khi hiệu ứng hoàn tất

Bạn có thể thêm một hàm callback để thực hiện hành động sau khi hiệu ứng kết thúc.

html
<button id="btnHide">Ẩn nội dung</button>

<div id="content" style="width:300px; padding:20px; background:#e3f2fd; margin-top:10px;">
  Đây là nội dung sẽ được ẩn với hiệu ứng.
</div>

<script>
$("#btnHide").click(function() {
  $("#content").hide(2000, function() {
    alert("Đã ẩn xong nội dung!");
  });
});
</script>

Giải thích ví dụ:

  • $("#btnHide"): chọn nút có id="btnHide".
  • .click(function() {...}): gán sự kiện click.
  • $("#content").hide(1000, callback): ẩn thẻ #content trong 1 giây (1000ms).
  • function() { alert(...) }: hàm callback – sẽ chạy sau khi hiệu ứng hide hoàn tất.

Tại sao nên dùng callback?

Hàm callback giúp bạn:

  • Biết chắc chắn hiệu ứng đã kết thúc.
  • Thực hiện các hành động kế tiếp như hiển thị thông báo, thay đổi nội dung, chuyển hướng...

5. Các giá trị duration phổ biến

Giá trịÝ nghĩa
"slow"khoảng 600ms
"fast"khoảng 200ms
số (ms)thời gian cụ thể, ví dụ 1000 là 1 giây

6. Tổng kết

  • hide()show() là hiệu ứng đơn giản, được dùng rất nhiều để điều khiển giao diện động.
  • Bạn có thể điều chỉnh tốc độ và gắn thêm hành động sau hiệu ứng với callback.
  • Với toggle(), bạn có thể viết code ngắn gọn hơn khi cần ẩn/hiện linh hoạt.

👉 Tiếp theo:bài sau, chúng ta sẽ học các hiệu ứng nâng cao hơn như fadeIn, fadeOut, slideUp, slideDown... để giúp trang web sống động hơn nữa!

📚 codetuthub.com – Học code từ thực chiến, dễ hiểu, dễ nhớ!
Đừng quên để lại câu hỏi hoặc bình luận bên dưới nhé!

Toàn Nguyễn
Toàn NguyễnTác giả

Tác giả tại CodeTutHub

Xin chào, mình là Toàn 👋
Là Senior Full-Stack Developer ở HCM, đồng thời là người đứng sau CodeTutHub. Mình viết về những gì mình thực sự dùng hàng ngày — từ Laravel, Next.js, đến cách workflow lập trình với AI agents như Claude Code và Cursor.
Nếu bạn thấy bài này hữu ích, hãy subscribe newsletter hoặc kết nối với mình. Mình luôn sẵn sàng thảo luận về dự án thú vị, cơ hội remote, hoặc đơn giản là chat về tech.
Ho Chi Minh City · Open for collaboration

0 Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!
Đang trả lời
Xoá bình luận

Bạn có chắc muốn xoá bình luận này?
Hành động này không thể hoàn tác.

Bài viết liên quan

Thông báo hệ thống
Thông tin