Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.12.2015, 14:02
Интересующийся
Отправить личное сообщение для Sizz Lorr Посмотреть профиль Найти все сообщения от Sizz Lorr
 
Регистрация: 15.12.2015
Сообщений: 11

transform динамически созданного элемента
Немного закипел, перепробовал несколько вариантов, но зараза все уходят в одном направлении, динамически созданный div не принимает transform сразу
Javascript
var imgSute=document.createElement("div"); //Сам элемент для transform
$(imgSute).css({transform: "rotateX(-90deg) perspective(800px)"}).addClass("article_image").append(domImage); //Цепляем изображение внутрь, создается ранее
$(elementToSlide).find("div.image_sute").append(imgSute); //Цепляем к необходимому родителю

CSS
div.article_image
{
    width: 100%; height: 130px; overflow: hidden; position: absolute; top: 0; left: 0; transform-style: preserve-3d; transform-origin: bottom; transition: all 1s cubic-bezier(0, 0, 0, .5); transform: rotateX(0) perspective(800px);
}

Затем работает функция изменяющая transform (ее вырезка)
$(obj).find("div.article_image:first").css({transform: "rotateX(90deg) perspective(800px)"});
$(obj).find("div.article_image:last").css({transform: "rotateX(0deg) perspective(800px)"});

Смысл - старый элемент "падает" назад, новый поднимается вертикально
Затем старый элемент удаляется, ну и т.д.

Сама проблема:
Если не поставить паузу перед изменением трансформации элемент появляется на странице уже в окончательном виде. Старый же элемент трансформируется нормально.
При паузе на начале трансформации - все ОК и крутится как надо.

Голову уже себе сломал - сделал подстановкой классов, та же фишка, созданный элемент оказывается на странице в конечной позиции. Может глаза замылились и просто не вижу элементарного?
Ответить с цитированием
  #2 (permalink)  
Старый 15.12.2015, 14:12
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Sizz Lorr,
Можа это ? http://htmlbook.ru/css/transition (добавлять к стилю исходного элемента до преобразования, тогда процесс преобразования анимируется с учетом времени анимации в transition

Последний раз редактировалось Deff, 15.12.2015 в 14:19.
Ответить с цитированием
  #3 (permalink)  
Старый 15.12.2015, 14:18
Интересующийся
Отправить личное сообщение для Sizz Lorr Посмотреть профиль Найти все сообщения от Sizz Lorr
 
Регистрация: 15.12.2015
Сообщений: 11

Сообщение от Deff Посмотреть сообщение
Sizz Lorr,
Можа это ? http://htmlbook.ru/css/transition
это кусочек интерфейса под динамическую менюшку win8-10 , чтобы было понятнее что делается ))))

Нет, тут ошибка какая то очень уже специфическая, связанная с таймингом вывода созданных элементов. Ощущение, что transition не успевает прописаться в элемент.

Проверил элементарно - все выводится с нужным углом поворота, если сразу после присоединения элемента выйти из функции через return false;
Ответить с цитированием
  #4 (permalink)  
Старый 15.12.2015, 14:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Sizz Lorr,
transition уже должно приписано в файле стиля или теге <style> ко всем селекторам исходных элементов до всех преобразований
А не добавлять transition на этапе преобразования
Ответить с цитированием
  #5 (permalink)  
Старый 15.12.2015, 14:31
Интересующийся
Отправить личное сообщение для Sizz Lorr Посмотреть профиль Найти все сообщения от Sizz Lorr
 
Регистрация: 15.12.2015
Сообщений: 11

В том то и дело, что пробовал, второй день сижу над парой простых строк )))) - сейчас код выглядит так
div.article_image_new
{
    width: 100%; height: 130px; overflow: hidden; position: absolute; top: 0; left: 0; transform-style: preserve-3d; transform-origin: bottom; transition: all 1s cubic-bezier(0, 0, 0, .5); transform: rotateX(-90deg) perspective(800px);

...

$(imgSute).addClass("article_image_new").append(domImage);


и после меняется класс объекта ... результат аналогичен ...
Ответить с цитированием
  #6 (permalink)  
Старый 15.12.2015, 14:37
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Дайте ссылку на демо страницу
Ответить с цитированием
  #7 (permalink)  
Старый 15.12.2015, 15:15
Интересующийся
Отправить личное сообщение для Sizz Lorr Посмотреть профиль Найти все сообщения от Sizz Lorr
 
Регистрация: 15.12.2015
Сообщений: 11

TRANSITION ERROR - вот временно выложил критичный элемент. Чтобы поведение было более понятным - изменил вращение, чтобы его было видно. Если поставить паузу в строке 87, а потом продолжить, то видно, как должно быть вращение, иначе то, что видите ...
Да, не проверял ни под чем кроме вебкита ... это только первые шаги в данной цэмэске ...
Ответить с цитированием
  #8 (permalink)  
Старый 15.12.2015, 15:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

К ночи гляну, убегаю...
Ответить с цитированием
  #9 (permalink)  
Старый 15.12.2015, 15:52
Интересующийся
Отправить личное сообщение для Sizz Lorr Посмотреть профиль Найти все сообщения от Sizz Lorr
 
Регистрация: 15.12.2015
Сообщений: 11

Что то читал форум и проскочила идея Кэша ... onload ...

10 минут позже:

... да уж ...
var img = new Image();
    img.src="./galery/"+newImage;
    img.onload=createElementsToSlide;

не помогло ....

Последний раз редактировалось Sizz Lorr, 15.12.2015 в 16:28.
Ответить с цитированием
  #10 (permalink)  
Старый 15.12.2015, 16:47
Новичок на форуме
Отправить личное сообщение для Boris_V Посмотреть профиль Найти все сообщения от Boris_V
 
Регистрация: 15.12.2015
Сообщений: 3

Чтобы 100% сработала анимация лучше использовать animation, а в этом случае применять изменение стиля через timeout(func, 0)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение значения динамически созданного элемента skeef jQuery 3 21.06.2014 17:45
как узнать размер в пикселях элемента созданного элемента span Faab Общие вопросы Javascript 2 09.11.2013 16:46
Браузер не успевает определить высоту вновь созданного через XMLHttpRequest элемента Lockpickup AJAX и COMET 17 25.04.2011 17:58
Заполнить список значениями из динамически созданного выпадающего списка zhuzha Элементы интерфейса 0 17.08.2010 14:40
Динамическое создание елемента из динамически созданного элемента. Anguis Элементы интерфейса 10 16.12.2009 17:26