Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Время gif анимации [2]
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Bio man, как крайний вариант, можно на сервере(или где-еще) делать превьюхи, а потом при наведении подменять src, (предварительно подгрузив в фоне) и тогда начнется проигрывание
upd. Возможно превьюху первого кадра можно будет сделать через canvas (вечером попытаюсь глянуть), но это не поможет со старыми браузерами.
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
DeepVarvar пишет:
проиграть по наведению.
Все это вшивается в гифку и вуаля - никакого js не нужно.
Это делается средствами JS. на выходе imageReady выдает html c готовым js-кодом и включаемым gif-файлом.
(Замечу, что это не означает, что нельзя включить работающий Js-код в файл изображения )
Проигрывание 1 раз или более, - это да, указывается в самом файле средствами формата.
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
в фотошопе есть имадж реди?
Zuldek
Отправлено: 04 Июля, 2012 - 16:27:44
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Bio man пишет:
в фотошопе есть имейдж реди?
смотря в какой версии в CS 2 он отдельно, а в CS5 вроде уже весь функционал в один фотошоп встроен.
Bio man
Отправлено: 04 Июля, 2012 - 19:13:51
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
Страница загружается, все гифки подгружаются, анимация не циклическая. Нажимаю и появляется уже отработанная гифка! как сделать, что бы при нажатии гифка опять проигрывалась?
DeepVarvar
Отправлено: 04 Июля, 2012 - 20:07:34
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
А в ImageReady (или где там теперь) все правильно сделано? Может там гдето какую хитрую галочку надо проставить или еще что?
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
DeepVarvar
я не через ImageReady, просто нативный JS написаный на коленке для теста. Установлю прогу посмотрю, но может все таки как то руками можно сделать?
DlTA
Отправлено: 04 Июля, 2012 - 20:36:50
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
таки через задницу идет решение
как было упомянуто выше, готовится превьюха можно даже jpg и анимированная гифка в которой задано количество повторений 1
и при наведении/клике средствами js/css производить подмену
проблема может возникнуть в обратной подмене, для подготовки ко второму клику,
но если все гифки стандартизировать, так чтоб знать их длительность (хотяб максимальную) то в принцыпе проблем больше быть не должно
лучше конечно подмену производить средствами JS, чтоб потом делать обратное преобразование.
Bio man
Отправлено: 04 Июля, 2012 - 22:17:49
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
DlTA пишет:
таки через задницу идет решение
а с превьюхами значит не через задницу, да?
Нужно загрузить ВСЕ гифки (в скрытых полях), что бы не было задержки от загрузки картинок. Затем при каждом наведении/клике отображать и проигрывать определенную гифку. Хрен с ним со временем, где то 1 сек будет.
Может все таки есть решение?
armancho7777777
Отправлено: 05 Июля, 2012 - 03:14:30
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Bio man, а если анимацию реализовать путём использования спрайта из кадров гифки,
контейнера из div-а с фиксированной шириной по размеру одного кадра
и функции setInterval(), меняя background-position контейнера покадрово.
А останавливать анимацию с помощью clearInterval().
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
armancho7777777, отличная идея. А я и забыл что у меня была когда-то wave-картинка от звуковой дорожки и я её горизонтальное смещение анимировал почти таким способом создавая loop.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.