Hướng dẫn ẩn hiện trong html

Ở bài hướng dẫn này, bạn sẽ được tìm hiểu cách hiện và ẩn một phần tử HTML.

Bấm vào đây để HIỆN phần tử bên dưới

Bấm vào đây để ẨN phần tử bên dưới

Hướng dẫn ẩn hiện trong html

Cách hiện và ẩn một phần tử HTML

Phương thức show() dùng để hiện một phần tử HTML

Phương thức hide() dùng để ẩn một phần tử HTML


$(selector).show();
$(selector).hide();

Khi người dùng click vào nút hiện thì phần tử có id là div2 sẽ được hiện lên

Khi người dùng click vào nút ẩn thì phần tử có id là div2 sẽ bị ẩn đi


$("input[value='hien']").click(function(){
    $("#div2").show();
})
$("input[value='an']").click(function(){
    $("#div2").hide();
})

Xem ví dụ

Ngoài ra, chúng ta cũng có thể:

  • Thiết lập thời gian của việc thực thi hiện/ẩn phần tử.
  • Thiết lập một hành động nào đó sau khi việc hiện/ẩn phần tử đã được hoàn thành.


$(selector).show(time, callback);
$(selector).hide(time, callback);

Trong đó:

  • Tham số time là khoảng thời gian của việc thực thi hiện/ẩn phần tử. Giá trị của tham số time có thể là:
    • "slow" khoảng thời gian tương đối dài.
    • "fast" khoảng thời gian tương đối ngắn.
    • milliseconds (Ví dụ: 3000, 9000). Lưu ý: 1000 milliseconds = 1 giây
  • Tham số callback là một hàm sẽ được thực thi sau khi việc hiện/ẩn phần tử đã được hoàn thành.

HIỆN/ẨN phần tử chỉ sử dụng tham số time


$("input[value='radio1']").click(function(){
    $("#abc").show("slow");
})
$("input[value='radio2']").click(function(){
    $("#abc").hide("slow");
})

Xem ví dụ

HIỆN/ẨN phần tử chỉ sử dụng tham số callback


$("input[value='radio1']").click(function(){
    $("#abc").show(function(){alert("HIỆN");});
})
$("input[value='radio2']").click(function(){
    $("#abc").hide(function(){alert("ẨN");});
})

Xem ví dụ

HIỆN/ẨN phần tử chỉ sử dụng tham số time & callback


$("input[value='radio1']").click(function(){
    $("#abc").show("slow", function(){alert("HIỆN");});
})
$("input[value='radio2']").click(function(){
    $("#abc").hide("slow", function(){alert("ẨN");});
})

Xem ví dụ

HIỆN/ẨN phần tử bằng phương thức toggle()

Phương thức toggle() dùng để thực hiện luân phiên việc hiện và ẩn phần tử HTML.

Ví dụ:

  • Khi phần tử đang bị ẩn, phương thức toggle() sẽ hiện phần tử lên.
  • Khi phần tử đang hiện, phương thức toggle() sẽ ẩn phần tử đi.

Cách sử dụng tham số "time" và "callback" giống như trong phương thức hide() và show()


$(selector).toggle(time, callback);

Không sử dụng tham số


$("button").click(function(){
    $("#abc").toggle();
})

Xem ví dụ

Chỉ sử dụng tham số time


$("button").click(function(){
    $("#abc").toggle(2000);
})

Xem ví dụ

Chỉ sử dụng tham số callback


$("button").click(function(){
    $("#abc").toggle(function(){alert("XONG");});
})

Xem ví dụ

Sử dụng tham số time và callback


$("button").click(function(){
    $("#abc").toggle("slow", function(){alert("XONG");});
})

Xem ví dụ

Thuộc tính display dùng để chỉ định phần tử sẽ được hiển thị như thế nào

(Ví dụ: ẩn phần tử, hiện phần tử, ép phần tử sang kiểu khối, ép phần tử sang kiểu nội tuyến,....)

Kiểu phần tử khối (Block Element)

Một phần tử khối luôn được bắt đầu trên một dòng mới và chiếm toàn bộ chiều rộng có sẵn (trải dài từ bên trái qua bên phải xa hết mức có thể)

Ví dụ: Thẻ

sẽ tạo một phần tử khối, nó được bắt đầu ở một dòng mới và có chiều dài hết mức có thể

Dưới đây là một số thẻ có kiểu phần tử khối (block):

  • -

Kiểu phần tử nội tuyến (Inline Element)

Một phần tử nội tuyến KHÔNG bắt đầu trên một dòng mới.

Ví dụ: đây là một phần tử nội tuyến nằm trên cùng một dòng của phần tử tồn tại trước đó (nếu phần tử đó cũng thuộc kiểu nội tuyến).

Dưới đây là một số thẻ có kiểu phần tử nội tuyến (inline):

Cách sử dụng thuộc tính display để hiện (ẩn) phần tử HTML

Để sử dụng thuộc tính display, chúng ta sử dụng cú pháp

phần tử HTML {
    display: inline|block|none|inherit;
}

Trong đó:

Cách sử dụng thuộc tính visibility để hiện (ẩn) phẩn tử HTML

Để ẩn phẩn tử thì sử dụng display:none. Ngoài ra chúng ta cũng có thể sử dụng visibility:hidden

Tuy nhiên, hai phương thức trên sẽ cho ra hai kết quả khác nhau: