Jump to content
  • 0

Неплавная анимация в jquery ui - моя ошибка или так и должно быть?


Zverushka
 Share

Question

Не плавная анимация в jquery ui  - моя ошибка или так и должно быть?

Я использовала jquery UI custom билд со всеми эффектами - взяла банальный эффект, просто его подключила.

Посмотреть на эффект можно нажав кнопку "показать все товары".

Как видите как-то рывочками все). Я ничего не могу сделать в пределах jquery, чтобы стало плавнее? По идее эффекты jquery ui должны быть плавными априори.

zverushka.zz.mu/samovar/

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0
$cur_subcat = $(this).parent().parent().parent().parent().find(".sub-catalog");

молодец, добралась  :lol:

 

вот она "мощь" жуквери

 

 

причин может быть много: 

1. анимация на js

2. двигаешь большие блоки, а они тяжелые  :P

3. параллельно инициализируешь слайдеры опять-таки с анимацией на js

4. может еще что-нибудь

 

анимируй на css и будет тебе счастье

  • Like 1
Link to comment
Share on other sites

  • 0
молодец, добралась    вот она "мощь" жуквери

Это плохо? есть другие варианты?) :D

 

Да, контент огромный и слоев много получается  :wacko:

 

 

 

параллельно инициализируешь слайдеры опять-таки с анимацией на js

А есть другие варианты с инициализацией? (там просто к каждому слайдеру нужно привязать pager из самих картинок - для этого нужно знать из какого блока происходит вызов - а то bxslider все pager в один тег закинет)

Edited by Zverushka
Link to comment
Share on other sites

  • 0
$cur_subcat = $(this).parent().parent().parent().parent().find(".sub-catalog");
молодец, добралась :lol:

вот она "мощь" жуквери

собственно жуквери тут не при чем абсолютно. Тут человек показывал как он на чистом делал поезд из parentNode

По сабжу -- делай анимацию на css.

Так же есть готовые плагины: http://ricostacruz.com/jquery.transit/, http://www.minimit.com/projects/code/minimit-update-plugin

Link to comment
Share on other sites

  • 0

children(selector) -найдет дочерние элементы по селектору.

find(selector) - найдёт все элементы внутри, по селектору.

Или надо как-то иначе?

closest находит ближайший родительский элемент. Если надо первый внутренний то можно так:

find(...).eq(0) или find(...).first()

P.S. форматировать не могу, так как с планшета пишу.

Link to comment
Share on other sites

  • 0

Попыталась сделать css анимацию на transition - использовала только значение left - чтобы проверить, скрипты анимации отключила - также тормозит)... Видимо дело в количестве данных и скриптов...


children(selector) -найдет дочерние элементы по селектору.
find(selector) - найдёт все элементы внутри, по селектору.
Или надо как-то иначе?
closest находит ближайший родительский элемент. Если надо первый внутренний то можно так:
find(...).eq(0) или find(...).first()

P.S. форматировать не могу, так как с планшета пишу.

Имеются в виду первый ближайший children - по аналогу closesеst, но не для родителя, а для ребенка.

Link to comment
Share on other sites

  • 0

Как по мне то тут дело не джаваскрипте. фаербагом решил порастягивать блок через цсс3 анимацию и полилось тоже не плавно... все тормозит (правда у меня дома комп слабенький, но все же). это так и задумано что такая куча блоков выезжает? при чем не на абсолюте, а статично. Возможно из-за этого такие проблемы.

  • Like 1
Link to comment
Share on other sites

  • 0

В общем я убрала scrollTop - стало получше и еще чуть лучше стало, когда я заснула addclass после анимации. Вроде как УИ создает еще и анимацию на добавить класс. 

Ну и заменила перенты на клосесты.

Обновила сайт.

Хотя в вебките будто также тормозит.

Edited by Zverushka
Link to comment
Share on other sites

  • 0
Имеются в виду первый ближайший children - по аналогу closesеst, но не для родителя, а для ребенка.

я так понимаю что вам подойдет .find('.target-class') это он найдет все элементы с .target-class внутри блока от которого происходит поиск.


Я только немного не понял зачем тут УИ? тут все ручками можно написать на джейквери и получиться довольно таки короткий код. (я про то что ты блок выезжал слева направо). хотя может чего не заметил...

Link to comment
Share on other sites

  • 0

 

Имеются в виду первый ближайший children - по аналогу closesеst, но не для родителя, а для ребенка.

я так понимаю что вам подойдет .find('.target-class') это он найдет все элементы с .target-class внутри блока от которого происходит поиск.

Я только немного не понял зачем тут УИ? тут все ручками можно написать на джейквери и получиться довольно таки короткий код. (я про то что ты блок выезжал слева направо). хотя может чего не заметил...

 

УИ предоставлет более плавную анимацию, чем базовый jquery - поэтому поставила для плавности)....

Link to comment
Share on other sites

  • 0

http://www.artlebedev.ru/tools/technogrette/html/browser-performance/

http://chikuyonok.ru/2010/11/optimization-story/

 

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

 

Ещё добавлю, что box-shadow довольно "тяжёлое" свойство для анимируемых элементов. Попробовал без тени запустить: по-моему, явно быстрее работает, но не идеально, без border-radius работает ещё быстрее.

 

Для работы с CSS-анимациями есть и jQuery-плагины: http://habrahabr.ru/post/140630/

 

 

http://cssdeck.com/labs/5rkoolcd вот я набросал, вполне плавно, хотя возможно у вас на сайте не так все будет плавно...

 

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

Edited by Vin
  • Like 1
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