Я действительно не потратил время, чтобы проверить вашу математику, хотя, предполагая, что это правильно, вы, вероятно, сталкиваетесь с проблемами, которые браузеры не точны.Это означает, что они не выполняют субпиксельный рендеринг.Если ваши значения являются дробными, а не целыми, они усекают их, и это может заставить его выглядеть как дрожание / колебание элемента, поскольку вычисление проходит анимацию.
С однонаправленными вещами - только расширение илидвигаясь в одном направлении, вы склонны замечать это меньше, потому что он должен двигаться и выглядит достаточно гладким для глаз.Но с вашей стрелкой, которая должна оставаться неподвижной, даже заметный прыжок влево, а затем пиксель вправо и обратно очень заметен.
Рендеринг субпикселя Google, и вы увидите, что онутомительная проблема.
По большей части вы ничего не можете с этим поделать.Возможно, стрелка расположена над остальной частью круга и не является частью анимации.
О, и еще одна точка, вам не хватает вызова на .stop()
на стрелке: см. http://jsfiddle.net/Q3pPF/12/ Разница в том, что если вы быстро наведите указатель мыши на круг (т. Е. На вход и на выход), то в вашей версии стрелка будет много двигаться, а в моей - нет.