2012-05-14 40 views
15

Tôi đang cố gắng sử dụng jQuery để đặt chiều cao của một số div thành tất cả có cùng chiều cao với div cao nhất. Về cơ bản tôi lặp qua các div và nhận được chiều cao từ mỗi người trong số họ, lưu trữ một trong những lớn nhất trong một biến. Sau đó, tôi lặp lại tất cả chúng một lần nữa và đặt chiều cao của chúng thành biến.Chiều cao jQuery() trả về giá trị false

Tuy nhiên, jQuery đang cho tôi giá trị sai cho chiều cao. Ví dụ, hàm height() cho div đầu tiên trả về 633, nhưng khi tôi nhìn vào nó trong thanh tra nó nói rằng nó là 603. Tôi hoàn toàn không biết tại sao nó lại làm điều này. Nó dường như bao gồm cả padding và margins, nhưng tài liệu nói rằng nó không nên làm điều đó.

Chiều cao cho div được đặt làm tự động trong biểu định kiểu của tôi. Nếu tôi cung cấp cho họ chiều cao pixel cố định thì hàm height height() trả về giá trị chính xác, nhưng không phải khi chúng ở chế độ tự động (vì chúng cần phải có).

Trang web được đề cập là ictsf.org. Chú ý thêm khoảng trống ở dưới cùng của ba cột.

+2

Tôi vừa xác nhận rằng vấn đề này KHÔNG xảy ra trong Firefox. Điều này đang xảy ra trong Chrome và Safari. Đã không thử nghiệm nó với IE, bởi vì IE hút. – TGPrankster

+0

Đó là lý do chính đáng để không kiểm tra nó với IE. –

Trả lời

32

Vấn đề có liên quan đến bạn "cân bằng chiều cao cột" mã chạy trên $(document).ready(), mà xảy ra trước khi WebKit là nhận thức được chiều cao của hình ảnh của bạn.

Vì vậy, sửa chữa nhanh nhất là thay vì chạy mã trên $(window).load(). Hoặc, thậm chí tốt hơn, sử dụng imagesLoaded plugin.

Cách khác, đặt thuộc tính height trên img s có thể khắc phục được sự cố.

+0

BẠN, thưa bạn, là một thiên tài! Cảm ơn nhiều. – TGPrankster

+0

allready 1 giờ đấu tranh nhưng bạn đã cứu tôi từ nhiều hơn ... cảm ơn! – vaskort

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