Jump to content
  • 0

Как реализуются jQuery css3 transitions?


Zverushka
 Share

Question

Подскажите, как реализуется css3 плавность в jquery анимации?

Есть плавные слайдеры (без подключения файла стилей), а есть дерганные.

Мне хотелось бы тоже уметь создавать плавную анимацию - как они достигают этого эффекта?

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Нет, вы не поняли.

Анимация на jQuery выполняется немного уловато, рывками чтоли. Не сглаженно в общем, как будто фпс мало, если так понятнее.

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

Link to comment
Share on other sites

  • 0

http://habrahabr.ru/qa/987/

http://habrahabr.ru/qa/13793/

http://habrahabr.ru/qa/12652/

http://habrahabr.ru/post/188722/

Всего не читал, но вроде как ваши вопросы.

Ну и опять же про это уже много в интернетах сказано было.

Link to comment
Share on other sites

  • 0

Все не то. Ссылки из разряда, у меня тормозит, потому что на странице 30 анимаций или я пытаюсь применить настолько сложную трансормацию, что появляются лаги.

Вот пример слайдера, который использует css3

http://bxslider.com/options

useCSS

If true, CSS transitions will be used for horizontal and vertical slide animations (this uses native hardware acceleration). If false, jQuery animate() will be used.

Как он это реализует?

Link to comment
Share on other sites

  • 0

Дак, обычно условие, если включен такой параметр, то делаете вот так...

Открываете http://bxslider.com/lib/jquery.bxslider.js

Находите if(slider.usingCSS){

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

Если нет файла стилей css отдельно, это же не значит, что стили нельзя задать внутри js слайдера.

Вообще тем же модернизр можно задать тест, и проверять, если браузер поддерживает какую ту штуку, то делать так или иначе (http://yepnopejs.com/)

  • Like 1
Link to comment
Share on other sites

  • 0

useCSS в BxSlider'е отвечает за то, будет использоваться jQuery animation() или CSS transitions. Под "native hardware acceleration" имеется в виду CSS transitions. CSS анимации вроде как лучше используют графический ускоритель, в отличии от анимации Javascript. Просто css-свойства задаются в самом коде слайдера. Вот и весь секрет :)

  • Like 1
Link to comment
Share on other sites

  • 0

В общем я так поняла встроенной поддержки этого у jquery нет.

Он каким-то методом определяем поддерживает ли браузер css3, и если поддерживает, то ставит свойство transition и не использует animate - а просто задает свойство объекту, где он должен находиться - а браузер сам анимирует.

Если не поддерживает - то использует animate вручную.

Link to comment
Share on other sites

  • 0

жуквери анимации прошлый век. Не говоря уже о том, что они там ужасно реализованы. Хотите плавные анимации, используйте css или специальные js библиотеки для анимации.

Тут я писал демку angular.js + animate.css. Ангуляр вряд ли осилите, но css эффекты можете посмотреть, попереключать и использовать в своих проектах :)

Вот и весь секрет

еще "секрет" в поймать конец css анимации (callback)

http://learn.javascript.ru/css-animation

Edited by nerv
  • Like 1
Link to comment
Share on other sites

  • 0

2 или 3 часа сегодня провозилась, пытаясь сделать плавную аниамацию. :facepalmxd:

Сначала чисто на транизициях - но как оказалось, если высота элемента авто - анимации не будет. :wacko:

Потом джеквери приблудами и остановилась на тоглекласс у виджета. Но у меня ппц как резко дергалась анимация. Что такое - почему? :blink:

Оказалось, надо убрать тразиции из цсс. И что еще оказалось, как я поняла, виджеты jquery - это как раз реализация эффектов базового ядра через css3 транзиции плюс дополнительные функции. Вот они и конфликтовали вместе с css оформлением.

Я это к чему - получается если хотим css3 плавности - просто берем виджеты - их базовые эффекты и пишем, что нам нужно....

Edited by Zverushka
Link to comment
Share on other sites

  • 0
виджеты jquery - это как раз реализация эффектов базового ядра через css3 транзиции
Я это к чему - получается если хотим css3 плавности - просто берем виджеты - их базовые эффекты и пишем, что нам нужно....

чего?

Link to comment
Share on other sites

  • 0
Query UI adds quite a bit of functionality on top of jQuery’s built-in effects. jQuery UI adds support for animating colors and class transitions, as well as providing several additional easings.

Что означает, что базовая анимация у виджет-эффектов дополнена использованием встроенной анимацией браузеров. Что означает, что если нужно разработать плагин с плавной анимацией - нужно скачать кустом-виджет сборку для разработки аддонов.

Link to comment
Share on other sites

  • 0
Query UI добавляет немного новой функциональности cверх встроенных эффектов jQuery. jQuery UI добавляет поддержку для анимации цветов и переходов между классами, а также предоставляет несколько дополнительных динамик анимации.

Где здесь что-либо про встроенную анимацию браузеров?

Link to comment
Share on other sites

  • 0

Хм, может это?

Similar to native CSS transitions, jQuery UI's class animations provide a smooth transition from one state to another while allowing you to keep all the details about which styles to change in CSS and out of your Javascript.

Или это не означает, что используются встроенные в браузер транзиции?

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

Edited by Zverushka
Link to comment
Share on other sites

  • 0
Или это не означает, что используются встроенные в браузер транзиции?

если речь об этом http://jqueryui.com/addClass/ , я так понял что не означает

еще есть такая штука Effeckt.css

Edited by nerv
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy