Не думаю, что вы понимаете, как работают переходы CSS3. Параметры перехода CSS3 управляют тем, как обрабатываются изменения свойств объекта и вступают ли они в силу немедленно или они инициируют переход, чтобы он со временем переходил к новому значению.
У вас должно быть фактическое изменение свойства для перехода. Установка самого значения перехода не запускает переход - он просто устанавливает правила для случая, когда переход произойдет в будущем.
В вашем примере вам нужно изменить какое-то значение, чтобы увидеть изменение. Например:
test.css("height", "100px");
Поскольку у вас есть transition: all
, это приведет к переходу от текущего значения высоты к новому значению высоты.
Например, вот переход CSS3, который я создал для другого вопроса пару дней назад: http://jsfiddle.net/jfriend00/P2H4Z/.
В этом примере есть CSS, относящийся к переходу:
.element
{
background: blue;
position: absolute;
left: -100%;
padding: 0 10px;
-moz-transition: left 1s;
-webkit-transition: left 1s;
-o-transition: left 1s;
-ms-transition: left 1s;
transition: left 1s;
}
.element.seen {
left: 0;
}
Устанавливает стадию перехода свойства left
. Это не вызывает переход. Переход может быть инициирован путем фактического изменения свойства left
элемента с помощью class="element"
. Это изменение значения left
может быть выполнено с помощью:
- Добавление класса к элементу или родительскому элементу, который заставляет другое значение
left
вступать в силу из правил CSS.
- Запуск псевдо-класса для вступления в силу (например,
:hover
)
- Программно изменить значение
.left
с помощью JavaScript.
В этом конкретном примере класс seen
добавляется к объекту, что приводит к изменению левого значения с -100%
на 0
. Поскольку определено transition left 1s
, браузер перейдет от текущего значения -100%
к новому значению 0
в течение 1 с, и, таким образом, объект сдвинется на место.