Я не думаю, что вы понимаете, как работают 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 секунды, и, таким образом, объект будет помещаться на место.
вы проверили на отладчик, если эти стили действительно применяются? не только, но глядя на него? – Joseph
@Joseph // Да .. я проверил его. jquery не применял никаких стилей. Я пытаюсь выяснить, почему – Moon
Используйте .addClass, чтобы добавить класс css, который определяет ваш переход: работает в одной строке кода. См. Мой ответ ниже. – frenchie