Chciałem tylko dodać tutaj moje doświadczenie, chociaż pytanie jest stare: powyższy konsensus wydaje się być taki, że zaokrąglanie jQuery jest tak samo dobre jak niezaokrąglone obliczenia - ale nie wydaje się, aby tak było w przypadku czegoś, co robiłem .
Mój element ma ogólnie płynną szerokość, ale zawartość zmienia się dynamicznie za pośrednictwem AJAX. Przed przełączeniem zawartości tymczasowo blokuję wymiary elementu, aby mój układ nie podskakiwał podczas przejścia. Odkryłem, że używając jQuery w następujący sposób:
$element.width($element.width());
powoduje to trochę zabawne, na przykład różnice między rzeczywistą szerokością a obliczoną szerokością są subpikselowe. (Konkretnie, zobaczę, jak słowo przeskakuje z jednego wiersza tekstu do drugiego, wskazując, że szerokość została zmieniona, a nie tylko zablokowana.) Z innego pytania - Pobieranie rzeczywistej, zmiennoprzecinkowej szerokości elementu - znalazłem to window.getComputedStyle(element).widthzwróci niezaokrąglone obliczenia. Więc zmieniłem powyższy kod na coś takiego
var e = document.getElementById('element');
$('#element').width(window.getComputedStyle(e).width);
A z TYM kodem - bez zabawnego odbijania! To doświadczenie wydaje się sugerować, że niezaokrąglona wartość ma znaczenie dla przeglądarki, prawda? (W moim przypadku Chrome w wersji 26.0.1410.65.)