2011-01-07 28 views
7

Chức năng bù trừ jQuery đôi khi trả về các số hữu tỷ (như 12.645613) cho trên cùng hoặc bên trái. Tôi nghĩ rằng vị trí trên cùng và bên trái là pixel và do đó phải là số nguyên (không có nửa pixel hoặc?).Vị trí bù không số nguyên trong jQuery

+1

Thật sao? Bạn có thể cho thấy một ví dụ? – SLaks

+0

Và hàm nào trả về một số như vậy? –

+0

Truy cập http://www.dotnetoutsource.com/Download/jQuery_FixedTable/jQuery_FixedTable_Demo.htm và sau đó là '$ (". FixedColumn ") .qq (0) .offset(). Top' kết quả trong Firefox của tôi với 182.5833282470703 – Zardoz

Trả lời

5

Vị trí trên cùng và bên trái có thể là số dấu chấm động với bất kỳ đơn vị cm, mm, in, pt, pc, em, ex hoặc px hoặc phần trăm.

Ví dụ:

.someElement { top: 42%; left: 3.14in; } 

Chức năng offset trả về vị trí dịch sang pixel, do đó rất tốt có thể là một số dấu chấm động. Các giá trị không được làm tròn.

Với ví dụ đã cho, nếu chiều cao của bố mẹ là 32 pixel, giá trị top của phần tử sẽ là 32 * 0,42 = 13,44 pixel.

+0

Sau đó, điều này âm thanh với tôi như một lỗi jQuery trong trường hợp của tôi như là tài liệu về bù đắp nói: "Nhận tọa độ hiện tại". Những gì bạn mô tả là nhiều hơn nơi nó nên được và không phải nơi nó thực sự là. – Zardoz

+1

@Zardoz: Vâng, điều đó phụ thuộc vào cách bạn nhìn thấy nó. Trong trường hợp phần tử "là", không phải là nơi mà trình duyệt chọn hiển thị nó, tức là tọa độ của nó là dấu phẩy động nhưng nó thường được hiển thị ở một pixel chẵn. Hầu hết các trình duyệt đều có mối quan hệ 1: 1 giữa các hệ tọa độ của chúng và pixel màn hình, nhưng ví dụ iphone 4 có mối quan hệ 1: 2, vì vậy nó thực sự có thể đặt các phần tử ở một nửa pixel. – Guffa

-1

Đây là một câu hỏi cũ, nhưng tôi đoán tôi có thể đăng câu trả lời ở đây, cho hậu thế.

Tôi cũng gặp sự cố này và tôi phát hiện ra (nhờ Firebug) rằng thẻ h1 và h3 có lề lề động (ví dụ, Firefox theo mặc định cho số <H1> số 0.67em 0).

Khi bạn xóa các thẻ <H1><H3>$(".fixedColumn").eq(0).offset().top trả về một số nguyên. Bạn chỉ có thể xác định lề cho các thẻ đó và vấn đề cần được sửa.

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