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,但动画播放