【问题标题】:linear animate into variable width线性动画成可变宽度
【发布时间】:2011-12-06 04:20:33
【问题描述】:

我有一个列表(<ul> 标签),其中子元素(<li> 标签)具有可变宽度,并且向左浮动......

我想将marginLeft 动画到特定点

动画希望有恒定的速度,对于任何宽度..

首先,我用下面的代码捕捉到ul的长度

ul_length=parseFloat($("#developments ul").css("width"))+
          parseFloat($("#developments ul").css("paddingLeft"))+
          parseFloat($("#developments ul").css("paddingRight"));

现在我怎样才能修改上面的代码,让任何宽度都拥有 constant_speed?

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

【问题讨论】:

    标签: jquery width jquery-animate


    【解决方案1】:

    为了保持恒定的速度,您需要计算要行驶的距离,然后以此(和给定的速度)计算达到该速度所需的时间。

    例如,如果您想要 10 像素/秒的速度,并且您有 50 像素的覆盖范围(计算得出),则您需要为动画设置 5 秒的长度。

    【讨论】:

    • 所以让我们以我们的例子为例,我想要 speed=40; (40px/sec) 然后持续时间:ul_length/speed ???
    • 这是物理和数学中的very well known 问题。所以是的,距离/速度 = 时间。
    • 当 alert(time_to_animate) 我取 230,但动画在
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-21
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多