линейная анимация в переменную ширину - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть список (тег <ul>), у которого дочерние элементы (тег <li>) имеют переменную ширину и плавающий влево ....

Я хочу анимировать 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"
    });

1 Ответ

1 голос
/ 06 декабря 2011

Чтобы иметь постоянную скорость, вы хотите рассчитать расстояние, которое вы собираетесь преодолеть, а затем по нему (и заданной скорости) вычислить время, которое потребуется для достижения этой скорости.

Например, если вы хотите скорость 10px / sec, и у вас есть 50px для покрытия (рассчитано), вам нужно дать анимации 5 секунд.

...