Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.06.2017, 17:52
Аспирант
Отправить личное сообщение для winch Посмотреть профиль Найти все сообщения от winch
 
Регистрация: 30.04.2015
Сообщений: 87

jquery - анимация до состояния класса.
когда мне требуется анимировано позиционировать элемент, я пользуюсь функцией:
$(selector).animate({...css_state...});

когда мне надо установить css состояние определенное в классе, я использую:
$(selector).addClass(class_name);

а как быть, если надо добавить класс, но сделать это анимационно?
Ответить с цитированием
  #2 (permalink)  
Старый 06.06.2017, 17:58
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

прописать в css
.class{
		transition: 1s;
	}
Ответить с цитированием
  #3 (permalink)  
Старый 06.06.2017, 18:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от winch
надо добавить класс, но сделать это анимационно
Это как поооостепенно класс добавлять?

Можно по окончании анимации класс добавить. А вам чего надо?
Ответить с цитированием
  #4 (permalink)  
Старый 06.06.2017, 20:05
Аспирант
Отправить личное сообщение для winch Посмотреть профиль Найти все сообщения от winch
 
Регистрация: 30.04.2015
Сообщений: 87

Сообщение от laimas Посмотреть сообщение
Это как поооостепенно класс добавлять?

Можно по окончании анимации класс добавить. А вам чего надо?
например так
.class { margin:100px; }

надо чтобы, при добавлении этого класса, маргин плавно изменился от текущего состояния элемента, до 100 пикс.

Последний раз редактировалось winch, 06.06.2017 в 20:21.
Ответить с цитированием
  #5 (permalink)  
Старый 06.06.2017, 20:09
Аспирант
Отправить личное сообщение для winch Посмотреть профиль Найти все сообщения от winch
 
Регистрация: 30.04.2015
Сообщений: 87

Сообщение от j0hnik Посмотреть сообщение
прописать в css
.class{
		transition: 1s;
	}
в этом при добавлении класса плавность работает, а при снятии (removeClass) - происходит резко. как тогда при снятии плавности добиться?
Ответить с цитированием
  #6 (permalink)  
Старый 06.06.2017, 20:19
Аспирант
Отправить личное сообщение для winch Посмотреть профиль Найти все сообщения от winch
 
Регистрация: 30.04.2015
Сообщений: 87

laimas,
вариант сначала сделать анимацию, а потом добавить класс не канает, потому что у меня в js коде нет значений css параметров до которых мне надо анимировать. а эти значения находятся в классе.
т. е. я хочу разделить js и css код, таким образом чтобы в скрипте был только алгоритм, а все настройки параметров хранились в css.
Ответить с цитированием
  #7 (permalink)  
Старый 06.06.2017, 20:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от winch
надо чтобы маргин плавно изменился от текущего состояния элемента, до 100 пикс
Ну так это же не анимация добавления класса, а анимация css свойства. Это можно сделать и через CSS анимацию (@keyframes), можно и программно, через .animate().
Ответить с цитированием
  #8 (permalink)  
Старый 06.06.2017, 20:33
Аспирант
Отправить личное сообщение для winch Посмотреть профиль Найти все сообщения от winch
 
Регистрация: 30.04.2015
Сообщений: 87

laimas,
что такое @keyframes ?
через animate() не могу, читайте выше.
Ответить с цитированием
  #9 (permalink)  
Старый 06.06.2017, 20:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

winch,
обычно делают 2 класса в одном transition: 1s; в другом margin:100px;
Ответить с цитированием
  #10 (permalink)  
Старый 06.06.2017, 20:40
Аспирант
Отправить личное сообщение для winch Посмотреть профиль Найти все сообщения от winch
 
Регистрация: 30.04.2015
Сообщений: 87

Сообщение от рони Посмотреть сообщение
winch,
обычно делают 2 класса в одном transition: 1s; в другом margin:100px;
не совсем понял, как это. можно пример кода?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery и jquery ui Miraliko jQuery 1 29.04.2017 16:21
Анимация по селектору класса через each Siend Общие вопросы Javascript 3 01.10.2015 18:33
Анимация с добавлением класса Ahsar jQuery 6 26.06.2013 11:22
Анимация на jQuery Mukhtar AJAX и COMET 1 11.05.2012 16:53
Свойства/методы класса TicTac Общие вопросы Javascript 5 03.07.2011 14:53