2010-03-26 31 views

Trả lời

27

Bạn có thể tìm cho getOffsetHeight() (thừa hưởng bởi tất cả các phần của giao diện người dùng từ UiObject):

Gets chiều cao bù đắp của đối tượng trong pixel. Đây là tổng chiều cao của đối tượng, bao gồm các đồ trang trí như làm đường viền, lề và đệm.

Ngoài ra còn có các getClientHeight() từ Element:

Trả về chiều cao bên trong của một phần tử bằng pixel, bao gồm cả đệm nhưng không chiều cao thanh cuộn ngang, biên giới, hoặc lợi nhuận.

Bạn có thể truy cập Phần tử cơ bản của mọi UiObject (có nghĩa là Tiện ích, v.v.) thông qua phương thức getElement().

Hãy chắc chắn để kiểm tra xem các mục có thể nhìn thấy tại thời điểm kích thước được đọc, nếu không bạn sẽ nhận được 0.

+2

Theo tài liệu, thao tác này sẽ hoạt động. Trong thực tế tuy nhiên nó luôn luôn trả về 0. Bạn có một ý tưởng những gì nó là như vậy? –

+0

@ Sébastien Tromp: Thật khó để chẩn đoán vấn đề với thông tin khan hiếm như vậy;) Tôi không thể nhớ lại thuộc tính CSS nào ('display'?' Float'?) Có thể tác động đến chiều cao như đã thấy trong cây DOM. Các yếu tố thực sự có thể có 0 chiều cao, nhưng lề là "điền" ... Có rất nhiều khả năng - Tôi khuyên bạn nên chỉ cần hỏi một câu hỏi mới với vấn đề của bạn ở đây trên Stack tràn :) –

+0

@ Daniel, cảm ơn bạn để thêm một mẹo rất hữu ích :) –

1

Có thực sự là getOffsetHeight() nhưng điều đó chỉ mang lại cho tổng chiều cao của đối tượng, bao gồm các đồ trang trí như viền và đệm, nhưng không có lề. 1 Bạn có thể lấy phần tử và sử dụng getClientHeight() và nó cho chiều cao bên trong của một phần tử tính bằng pixel, bao gồm cả padding nhưng không phải chiều cao thanh cuộn ngang, đường viền hoặc lề.

Vì vậy, việc nhận được chiều cao được hiển thị đầy đủ bao gồm cả lợi nhuận dường như không thể thực hiện được.

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