Jquery 将线性动画设置为可变宽度

Jquery 将线性动画设置为可变宽度,jquery,width,jquery-animate,Jquery,Width,Jquery Animate,我有一个列表(标记),其中子元素(标记)的宽度可变,并向左浮动 我想将marginLeft设置为特定点的动画 对于任何宽度,动画都希望具有恒定速度 首先,我用下面的代码获取ul的长度 ul_length=parseFloat($("#developments ul").css("width"))+ parseFloat($("#developments ul").css("paddingLeft"))+ parseFloat($("#development

我有一个列表(
标记),其中子元素(
  • 标记)的宽度可变,并向左浮动

    我想将
    marginLeft
    设置为特定点的动画

    对于任何宽度,动画都希望具有恒定速度

    首先,我用下面的代码获取
    ul
    的长度

    ul_length=parseFloat($("#developments ul").css("width"))+
              parseFloat($("#developments ul").css("paddingLeft"))+
              parseFloat($("#developments ul").css("paddingRight"));
    
    现在,我如何修改上述代码,使其在任何宽度下都具有恒定的速度

    $scrollhandler=$("#developments ul").animate({
            marginLeft: -1*(ul_width+li_padding)
            }, {
            duration: ul_length,
            easing: "linear"
        });
    

    为了获得恒定的速度,你需要计算你将要行驶的距离,然后通过该距离(以及给定的速度),计算达到该速度所需的时间


    例如,如果您希望速度为10px/秒,并且需要覆盖(计算)50px,则需要为动画提供5秒的长度。

    因此,让我们以我们的示例为例,我希望速度=40;(40px/秒)然后持续时间:ul_长度/速度???这是一个物理和数学问题。所以是的,距离/速度=时间。当警报(时间到动画)时,我取230,但动画播放