Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   универсальное анимирование. (https://javascript.ru/forum/misc/24429-universalnoe-animirovanie.html)

melky 29.12.2011 18:42

универсальное анимирование.
 
Всем доброе время суток. У меня руки так и чешутся написать функцию анимирования элемента. Но не простую анимацию - как в jQuery (оперирование со свойством style каждого элемента в коллекции), а анимирования селектора.

как это будет работать :
Цитата:

Сообщение от мой мозг
Для браузеров, поддерживающих css-переходы :
Функция создаст новые правила для селектора : одно для текущего положения (значение "ОТ" плюс свойство transition. ) и одно для следующего (значение "ДО"). Результат - плавное анимирование всех элементов, принадлежащих селектору из одного значения стиля к другому. Значение "ОТ" указывать необязательно.
Для браузеров, которые не поддерживают css-переходы :
Создаст правило для селектора и будет его дёргать каждые N секунд - присваивать новое значение стилю.

другими словами, в анимировании она полностью опирается на "силу CSS".

Но я не знаю, стоит ли игра свеч. Вот примерный список минусов/плюсов такого подхода :
Плюсы
  1. Будет корректно хаваться смартфонами (вспомните, какая разница между анимированием через el.style и transition на айфоне)
  2. Очень просто обрабатывать большое количество элементов. Т.е. легка в реализации.
  3. По кустомизации не уступает обычному подходу.
  4. Производительность полностью зависит от движка CSS
Минусы
  • Если переданы элементы, а не селектор, то придётся как-то его выискивать.
  • Сложность при обработке элементов, имеющих разные селекторы (куча запятых и т.д)
  • <ваш минус>
Просьба пофилософствовать со мной насчёт этого способа анимирования. Я зашёл в тупик :)

PS пока что идея только в планах раздумий.

trikadin 29.12.2011 19:02

Имхо, имеет смысл задуматься о гибриде.

А вообще, задумка на отлично.

Nekromancer 29.12.2011 19:06

melky,
В ИЕ например для некоторых задач можно использовать фильтр анимации, например для таких как fade.

trikadin 29.12.2011 19:15

Цитата:

Сообщение от Nekromancer
В ИЕ например для некоторых задач можно использовать фильтр анимации, например для таких как fade.

Ограниченный набор анимаций + ограниченное кол-во элементов, к которым их можно применить. Больше возни, чем пользы.

Nekromancer 29.12.2011 19:20

trikadin,
по моему почти ко всем стандартным можно применить.

trikadin 29.12.2011 19:53

Цитата:

Сообщение от Nekromancer
по моему почти ко всем стандартным можно применить.

Зависит от фильтра. Но суть в том, что бяки всё равно могут быть...

devote 29.12.2011 19:55

Цитата:

Сообщение от trikadin
что бяки всё равно могут быть...

а как же без этого... это всегда было и будет.

trikadin 29.12.2011 19:56

Цитата:

Сообщение от devote
а как же без этого... это всегда было и будет.

:)

Просто вопрос, стоит ли возня с фильтрами того. Как по мне - так не очень...

devote 29.12.2011 19:58

Цитата:

Сообщение от trikadin
Просто вопрос, стоит ли возня с фильтрами того. Как по мне - так не очень...

все зависит от результата, где то стоит а гдето нет... тут уж одно выбрать не получиться.

trikadin 29.12.2011 20:01

Ну, это уже melky решать будет)

Предлагаю вернуться таки к теме)

Nekromancer 29.12.2011 20:01

Цитата:

Сообщение от trikadin
Просто вопрос, стоит ли возня с фильтрами того. Как по мне - так не очень...

Я например не тестил на самом деле, но попробовать таки можно, если ты собираешься за это браться.

melky 29.12.2011 21:30

Цитата:

Сообщение от trikadin (Сообщение 147106)
Имхо, имеет смысл задуматься о гибриде.

в смысле, "гибриде"? там вроде гибрид и описан )

Цитата:

Сообщение от trikadin (Сообщение 147118)
Зависит от фильтра. Но суть в том, что бяки всё равно могут быть...

можешь кинуть ссылку с материалом про "бяки" ? беглый взгляд на гугл и msdn не сказал ничего подобного.

Цитата:

Сообщение от trikadin (Сообщение 147122)
:)
Просто вопрос, стоит ли возня с фильтрами того. Как по мне - так не очень...

это же обеспечение кроссбраузерности. придётся :)

Livaanderiamarum 29.12.2011 23:12

Есть мысли как ты будешь эмулировать метод stop() для CSS?

melky 29.12.2011 23:17

Цитата:

Сообщение от Livaanderiamarum (Сообщение 147145)
Есть мысли как ты будешь эмулировать метод stop() для CSS?

я раньше уже писал функцию анимирования селекторов.
  • остановка анимации будет следовать известному принципу : для браузеров с transitions текущее значение стиля присваивается свойству style css-правилу, а transition удаляется. для старых браузеров просто очищается интервал-теребитель.
  • пауза же похожа на stop, но в объекте информации о запущенных анимациях будет сохранено, до какого значения анимировать дальше. и transition из правила не убирается.

Livaanderiamarum 29.12.2011 23:20

Цитата:

Сообщение от melky (Сообщение 147147)
я раньше уже писал функцию анимирования селекторов.
  • остановка анимации будет следовать известному принципу : для браузеров с transitions текущее значение стиля присваивается свойству style css-правилу, а transition удаляется. для старых браузеров просто очищается интервал-теребитель.
  • пауза же похожа на stop, но в объекте информации о запущенных анимациях будет сохранено, до какого значения анимировать дальше.

Суть в том что CSS быстрее javascript? Это как движок выборки селекторов по регулярным выражениям и нативная функция выборки по селекторам? и ты хочешь по возможности использовать второе? тогда просто напиши перегрузку анимейта jQuery ) я в свое время делал добавку поддержки слоев анимации и имен эффектов в jQuery )) так что это вполне реально)

devote 29.12.2011 23:26

Цитата:

Сообщение от Livaanderiamarum
тогда просто напиши перегрузку анимейта jQuery )

Ну может для вас хомячков это и круто расширять джуквери, лично я не вижу смысла юзать джуквери.

melky,
С большим удовольствием буду пользоваться тем что ты планируешь организовать, но не хотелось бы видеть привязки к каким либо библиотекам, а особенно джуквери.

Livaanderiamarum 29.12.2011 23:29

Цитата:

Сообщение от devote (Сообщение 147150)
Ну может для вас хомячков это и круто расширять джуквери, лично я не вижу смысла юзать джуквери.

melky,
С большим удовольствием буду пользоваться тем что ты планируешь организовать, но не хотелось бы видеть привязки к каким либо библиотекам, а особенно джуквери.

jQuery скорее всего лучше всего что ты когда либо напишешь) и судя по восхищению людей от её крутизны, которая тебя кстати заметно бесит, ты испытываешь дикую ненависть в стиле "и Что!! я бы лучше написал!1111 хомякии!!1 рабы системы!!1111 быдол!1 быдлооо0!111 я дартаньян все пидорасы!!11"
что-то я ни одного человека не видел, кроме тебя, кто пользовался бы твоей библиотекой)))

:haha:

devote 29.12.2011 23:33

Цитата:

Сообщение от Livaanderiamarum
jQuery лучше всего что ты когда либо напишешь) и судя по восхищения людей от её крутизны, которая тебя кстати бесит, ты испытываешь дикую ненависть в стиле "и Что!! я бы лучше написал!1111 почему от меня так не тащатся111111"

Ну ты смешной, поверь я давно для себя написал то что мне нужно это раз. Во вторых мне не нужна библиотека где как правило юзаешь пару функций. Одна это селектор, вторая установка css свойств элементам, остальное как правило лично мне в ней ничего не нужно. Да и эти две вещи уже не нужны, потому как уже написал свой CSS селектор, а свойства назначать не проблема элементам. Такие вещи как анимация я пишу всегда на чистом JS. И зависть совершенно не причем. Она крута не спорю, для таких как ты! Но не для таких как я.

melky 29.12.2011 23:35

Цитата:

Сообщение от devote (Сообщение 147150)
С большим удовольствием буду пользоваться тем что ты планируешь организовать, но не хотелось бы видеть привязки к каким либо библиотекам, а особенно джуквери.

я думал насчёт неё. единственное, для чего она будет полезна - в быстром нахождении селектора для коллекции, если моя функция будет плагином.

не буду делить шкуру неубитого медведя. над кверей буду думать, как доведу свой скрипт до такого состояния, чтобы я мог им гордиться.

Livaanderiamarum 29.12.2011 23:36

Цитата:

Сообщение от devote (Сообщение 147153)
Ну ты смешной, поверь я давно для себя написал то что мне нужно это раз. Во вторых мне не нужна библиотека где как правило юзаешь пару функций. Одна это селектор, вторая установка css свойств элементам, остальное как правило лично мне в ней ничего не нужно. Да и эти две вещи уже не нужны, потому как уже написал свой CSS селектор, а свойства назначать не проблема элементам. Такие вещи как анимация я пишу всегда на чистом JS. И зависть совершенно не причем. Она крута не спорю, для таких как ты! Но не для таких как я.

Гуглу это скажи, крутой ты наш))))))) сам себе режисер.. велосипедный))

Livaanderiamarum 29.12.2011 23:37

Цитата:

Сообщение от melky (Сообщение 147154)
я думал насчёт неё. единственное, для чего она будет полезна - в быстром нахождении селектора для коллекции, если моя функция будет плагином.

не буду делить шкуру неубитого медведя. над кверей буду думать, как доведу свой скрипт до такого состояния, чтобы я мог им гордиться.

Ну да,я к тому что идея реально стоящая! а jQuery популярна, так что я думаю многим людям бы полезно было то что ты собираешься сделать.

melky 29.12.2011 23:38

Цитата:

Сообщение от Livaanderiamarum (Сообщение 147156)
Ну да,я к тому что идея реально стоящая! а jQuery популярна, так что я думаю многим людям бы полезно было то что ты собираешься сделать.

прочитай первую строчку моей подписи. слова отца. но фраза настолько часто срабатывала в моей жизни, что я сейчас начинаю побаиваться )

devote 29.12.2011 23:41

Цитата:

Сообщение от Livaanderiamarum
Гуглу это скажи, крутой ты наш))))))) сам себе режисер.. велосипедный))

А причем тут гугл? да и вообще кто либо? Мне честно говоря все равно кто чем пользуется, лично я ничего афигительного в джуквери не вижу. Вот и весь расклад.

Livaanderiamarum 29.12.2011 23:42

Цитата:

Сообщение от melky (Сообщение 147158)
прочитай первую строчку моей подписи. слова отца. но фраза настолько часто срабатывала в моей жизни, что я сейчас начинаю побаиваться )

побаиваться чего)? если ни секрет?

Livaanderiamarum 29.12.2011 23:44

Цитата:

Сообщение от devote (Сообщение 147161)
А причем тут гугл? да и вообще кто либо? Мне честно говоря все равно кто чем пользуется, лично я ничего афигительного в джуквери не вижу. Вот и весь расклад.

Гугл юзает jQuery)
а вторых такие как мы, это хомячки вроде гугла и кучи народу желающих сэкономить время и не строить велосипеды, а кататься на машинах)), вряд ли сможем найти с тобой общий язык, тебе нас, хомячков цивилизации - не понять)

melky 29.12.2011 23:45

Цитата:

Сообщение от Livaanderiamarum (Сообщение 147163)
побаиваться чего)? если ни секрет?

груда задач, сессия. боюсь того, что забью на скрипт.

хотя нет.. будет чем заниматься, кроме как играть в скайрим (чёрт его подери!) и трепаться на форуме :)

Livaanderiamarum 29.12.2011 23:47

Цитата:

Сообщение от melky (Сообщение 147166)
груда задач, сессия. боюсь того, что забью на скрипт.

хотя нет.. будет чем заниматься, кроме как играть в скайрим (чёрт его подери!) и трепаться на форуме :)


devote 29.12.2011 23:56

Цитата:

Сообщение от Livaanderiamarum
Гугл юзает jQuery)
а вторых такие как мы, это хомячки вроде гугла и кучи народу желающих сэкономить время и не строить велосипеды,

Ну чтож тогда тот же гугл пишет велосипеды? Браузер написал, когда они уже есть, платформу андройд, когда уже полно других, и т.д. Что-то ты не с теми сравниваешь... А во вторых я уже сказал о том что я давно себе написал библиотек для личного использования... И давно не выдумываю велосипедов... Я могу юзать в ней все то что мне нужно, вырезать из нее все то что не нужно и т.д. А ради одной функции грузить извиняюсь 100кб-ый файл, мне нахер не здалось. Ты не работаешь в моей сфре тебе и не понять, а заказчики поверь не особо довольны что функционал сайта не супер а скриптов загружаеться просто ппц. И все ради того что бы где-то скрыть блок или еще какую мелочь сделать. Так что не вижу смысла вообще разводить холивар. Ибо для начало покрутись в том где я кручусь. Я работаю на америку, а они ох как не любят когда напичкано куча лишнего. И не потому что заказчик умен и знает что к чему, а потому что у заказчика есть друзья/знакомые которые рассказывают заказчику что эти скрипты просто жрут трафик.

Livaanderiamarum 29.12.2011 23:58

Цитата:

Сообщение от devote (Сообщение 147172)
Ты не работаешь в моей сфре тебе и не понять

а где я работаю)?

devote 30.12.2011 00:02

Цитата:

Сообщение от Livaanderiamarum
а где я работаю)?

понятия не имею, но так как ты приводишь гугл в пример, именно это мне и дает понять что ты совершенно ничего не знаешь... Ибо гугл то как раз и есть один из тех кто любит придумывать велосипеды.

Livaanderiamarum 30.12.2011 00:05

Цитата:

Сообщение от devote (Сообщение 147176)
понятия не имею, но так как ты приводишь гугл в пример, именно это мне и дает понять что ты совершенно ничего не знаешь... Ибо гугл то как раз и есть один из тех кто любит придумывать велосипеды.

подожди, если ты понятия не имеешь где я работаю, то как ты определил что я работаю не в той сфере где ты?

Livaanderiamarum 30.12.2011 00:06

Цитата:

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

подожди, но я ведь знаю биологию, социальную инженерию, экономику.. а ты говоришь что я совершенно ничего не знаю.. странный ты какой-то... О_О может пьяный и хочешь докопаться до меня или как-то задеть? думаю на стоит...

trikadin 30.12.2011 02:25

Троллинг детектед.

Livaanderiamarum 30.12.2011 02:27

Цитата:

Сообщение от trikadin (Сообщение 147225)
Троллинг детектед.


trikadin 30.12.2011 02:34

Цитата:

Сообщение от melky
в смысле, "гибриде"? там вроде гибрид и описан )

Использовать гибрид, чтобы устранить (хотя бы частично) те минусы, которые ты описал. Скажем, если передан элемент, а не селектор - проще использовать программную анимацию.

FINoM 30.12.2011 15:07

Цитата:

Сообщение от melky
Если переданы элементы, а не селектор, то придётся как-то его выискивать.

Сделай примерно как я: добавь какой-то свой атрибут и анимируй селектор этого атрибута.

melky 30.12.2011 15:51

Цитата:

Сообщение от FINoM (Сообщение 147390)
Сделай примерно как я: добавь какой-то свой атрибут и анимируй селектор этого атрибута.

я буду на IDшниках опираться.

FINoM 30.12.2011 15:54

Цитата:

Сообщение от melky
я буду на IDшниках опираться.

А если у элемента нет айдишника? Добавлять? А потом писать через запятую кучу айдишников?

trikadin 30.12.2011 16:00

Почему реализовали поиск элементов по селектору, а поиск селектора по элементам - нет?)

FINoM 30.12.2011 16:34

Цитата:

Сообщение от trikadin
Почему реализовали поиск элементов по селектору, а поиск селектора по элементам - нет?)

Как ты себе это представляешь?


Часовой пояс GMT +3, время: 05:35.