Я пытаюсь изменить ширину границы div в течение определенного периода времени и смещать позицию div равной суммы. Прирост рассчитывается как: дельта ширина/времени дельта (время происходит в цикле)изменение borderWidth с javascript и включение смещения позиции
var widthchange = (width2-width1)/(t2-t1)
, который дает мне значение чего-то подобного (например)
widthchange = 2.199999999999843
так что если Я приращение ширины:
___ .style.borderWidth =(current += widthchange)+"px "+current+"px "+current+"px "+current+"px"
и смещение позиционирования (в данном случае)
___.style.top =(current -= widthchange)+"px "+current+"px "+current+"px "+current+"px"
div слегка встряхивает назад и вперед, когда происходит изменение.
Проблема в том, что ширина округлена до ближайшего пикселя (я считаю), а позиция - нет. Я пробовал много комбинаций округления, но если инкремент не является целым числом, настройка ширины и смещение не совсем одинаковы.
Может кто-нибудь, пожалуйста, подтвердите, что округление до ближайшего пикселя - это то, что происходит с шириной? Или дайте мне советы о том, как правильно работать?
Благодаря
Можете ли вы сделать скрипку. И да, я считаю, что пиксели должны быть целыми числами. Вы не можете отобразить частичный пиксель. – crush
Это было плохое число для использования, но если это было 2.193333333 --- console.log (___. Style.borderWidth) = 2.1934px currentpx curpx curpx --- так что он делает раунд, но это не целое число –