Trong khi làm việc trên thanh trượt phạm vi giao diện người dùng jQuery, tôi chủ yếu gỡ lỗi trong chrome. Tôi cần thiết để làm cho phạm vi có giới hạn vì vậy tôi sẽ lấy vị trí bên trái của một ô điều khiển như vậy:Sự khác biệt về vị trí của jQuery giữa Chrome (webkit) và Firefox
$el.css('left');
Trong đó sẽ cho tôi vị trí bên trái theo phần trăm: 84%
. Tuy nhiên, khi tôi thử nghiệm trong Firefox, nó đã trả về giá trị bằng pixel.
Có ai đã từng trải nghiệm điều này trước đây không? Dựa trên việc xem xét DOM trong Firebug, Firefox không nhận ra vị trí bên trái dựa trên phần trăm nhưng dường như nó không trả về giá trị đó. Đây có phải là hành vi mặc định cho Firefox không? Điều này có giống nhau trong IE không?
Câu hỏi hay. Gần đây tôi đã ngạc nhiên khi thấy css ('left') trả lại pixel trong Firefox khi thuộc tính được chỉ định là phần trăm (hoặc ems). Sau khi tất cả, bạn luôn có thể nhận được giá trị pixel bằng cách sử dụng vị trí(). Tuy nhiên, chưa từng kiểm tra trong Chrome. – harpo
Ya, tôi đã ngạc nhiên khi một trong những yếu tố chỉ bắn ra khỏi màn hình khi tôi nghĩ rằng tôi về cơ bản đã được thực hiện với chức năng đó. Làm việc trên một MBP w/o VMWare hoặc tương tự, vì vậy không thể thực sự kiểm tra cho IE ngay bây giờ. – hellatan
Điều này không trả lời câu hỏi của bạn, nhưng cách giải quyết dựa trên jQuery là sử dụng 'vị trí' (http://api.jquery.com/position/), trả về cùng một giá trị (bằng pixel) trên mọi trình duyệt. – Emmett