2010-06-17 27 views
8

Tôi muốn có thể biết liệu một nút có hiển thị và hiển thị trên màn hình hay không. Theo tôi biết, có ít nhất 3 cách tiêu chuẩn và dễ dàng để làm cho các nút HTML không hiển thị:Có cách nào thống nhất để biết liệu một nút có hiển thị hay không?

  • Đặt opacity: 0;
  • Đặt display: none;
  • Đặt visibility: hidden.

tôi có thể kiểm tra các chỉ ba, nhưng tôi sợ mọi người có thể sáng tạo khi nói đến cách nội dung ẩn:

  • Gửi yếu tố offscreen sử dụng lợi nhuận tiêu cực;
  • Sử dụng chiều rộng hoặc chiều cao bằng 0 và ẩn tràn;
  • nhiều hơn nữa tôi tin tưởng mọi người đã phát triển.

Vì vậy, tôi đã tự hỏi nếu có một cách tiêu chuẩn để xác định xem một nút có được hiển thị trên màn hình hay không. Tôi khá chắc chắn rằng tất cả các trình duyệt chính xác định nó cho mình để tăng tốc độ vẽ, vì vậy có thể nó bằng cách nào đó tiếp xúc.

+3

Chỉ cần thêm vào các vấn đề của bạn: Một trong các thành phần chính của phần tử có thể có bất kỳ một trong những thứ đó được đặt, điều này cũng sẽ làm cho phần tử ẩn đi. : D –

+1

Cách kiểm tra kích thước của cửa sổ trình duyệt, sau đó tìm vị trí của phần tử, sau đó kiểm tra tất cả các tùy chọn bạn đã đề cập, cộng với chỉ mục z? – jnkrois

+0

@jnkrois: Tôi không thể kiểm tra _many nhiều hơn tôi tin tưởng mọi người đã phát triển_ bởi vì tôi không biết họ. – zneak

Trả lời

1

Bạn có thể thử sử dụng công cụ sửa đổi :visible của jQuery.

http://api.jquery.com/visible-selector/

Thật không may, tôi khá chắc chắn rằng không đưa vào tài khoản bất kỳ trong các trường hợp "khó khăn" mà bạn đang nói về.

+3

Như tài liệu jQuery nói: * Các phần tử có khả năng hiển thị: ẩn hoặc độ mờ: 0 được xem là hiển thị * vì vậy: hiển thị sẽ không hoạt động –

+0

+1 cho plugin jquery, mặc dù nó không hoàn toàn là những gì chúng đang tìm kiếm. –

0

Nếu đây là trang của bạn, thì bạn có thể có phần lớn quyền kiểm soát và việc này sẽ trở thành vấn đề áp dụng các tiêu chuẩn bạn triển khai. Nếu đây là trang forign (ví dụ: nếu bạn đang viết một dấu trang), thì số lượng biến rất lớn.

Hiển thị có nghĩa là những thứ khác nhau với mọi người và trình duyệt. Trình duyệt cần biết bối cảnh và bố cục của trang và cho dù đối tượng chiếm không gian, điều đó đúng ngay cả trong trường hợp opacity:0visibility:hidden, đó là lý do tại sao jQuery hoạt động theo cách đó.

Vì vậy, bạn sẽ cần phải xem xét yếu tố cụ thể, bao gồm lề, đệm, thuộc tính tràn, hiển thị, hiển thị, tất cả cài đặt độ mờ, kiểm tra color:rgba(*,*,*,0). Sau đó, bạn cần phải xem mỗi đối tượng cha mẹ tất cả cách quay lại tài liệu.

+0

Nó không phải trang của tôi. – zneak

Các vấn đề liên quan