Передача динамического CSS в jQuery.animate - PullRequest
2 голосов
/ 07 апреля 2010

Документация jQuery.animate гласит, что

Единственный обязательный параметр - карта свойств CSS. Эта карта похожа на тот, который может быть отправлен на Метод .css (), за исключением того, что диапазон свойств является более ограничительным.

Итак, почему это работает

$('#con div').css( {
        top : function(i) {
            console.log(i);
            return (i * 500) + 'px';
        }
    }
);

а это не так?

$('#con div').animate( {
        top : function(i) {
            console.log(i);
            return (i * 500) + 'px';
        }
    }
);

Консоль показывает, что функция оценивается для css, но не для animate. Я что-то упустил?

Кстати, я использую 1.4.2.

1 Ответ

2 голосов
/ 07 апреля 2010

Возможно, это не то, что вам нужно, но простым решением было бы просто перебрать элементы и применить анимацию индивидуально:

$('#con div').each(function(i)
{
    $(this).animate({ top: i * 500 });
});

В конце концов, именно это и составляет ваш фрагмент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...