强制jQuery动画使用整数值

Emp*_*ger 4 css jquery jquery-animate

有没有办法(保持前向兼容性)强制jQuery动画在动画中只使用整数值?

我正在为元素的宽度设置动画.

<div style="width: 25px">...</div>
Run Code Online (Sandbox Code Playgroud)

在动画制作过程中,我会检查检查器中的元素,并且该值通常具有十六进制的大粒度.

<div style="width: 34.24002943013px">...</div>
Run Code Online (Sandbox Code Playgroud)

一旦达到目标,它只会"平息"整数.

<div style="width: 50px">...</div>
Run Code Online (Sandbox Code Playgroud)

通常我不会为此烦恼,因为它显然是功能性的.

但是,在这个项目中,我必须始终保持像素完美,并且我担心使用小数像素宽度(或以像素为单位测量的任何其他属性)会在浏览器之间呈现不一致.我知道letter-spacing一个.

有没有办法确保即使在动画中间jQuery也只使用无十进制值?

编辑:我觉得我应该澄清; 我不只是在使用.animate({width:50}).我的大部分动画都是jQuery UI -powered .hide()s和.show()s,而我正在寻找的解决方案显然也适用于那些.

vit*_*tto 5

对我来说,这是以正确的方式工作:

$("div").animate({ width: 50}, {
    duration: 1000,
    step: function(now, fx){
        fx.now = parseInt(now);
    }
});?
Run Code Online (Sandbox Code Playgroud)