Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > jQuery & animation()


Автор: affka 22.12.2007, 16:23
1. Почему-то, применяя поочерёдно эффекты анимации, с каждым разом браузер начинает всё больше и больше тормозить.. чем это объяснить? Может анимация создаёт какой-нить объект каждый раз и потом его не удаляет? Чем загрязняется браузер?
ЗЫ: наблюдается во всех браузерах..

Может быть сталкивался кто-нить с таким?

2. Очень странно, что нету у анимации ф-ии "остановить анимацию"! Это действительно так?!
Мне просто надо чтобы он прервал текущию анимацию и продолжил с этого прерывания в другом направлении, например..

Автор: ksnk 22.12.2007, 19:17
Цитата(affka @  22.12.2007,  16:23 Найти цитируемый пост)
 нету у анимации ф-ии "остановить анимацию"! 

Такая функция есть, называется http://docs.jquery.com/Effects/stop. Там -же и пример на "в обратном направлении".

Добавлено через 3 минуты и 38 секунд
Цитата(affka @  22.12.2007,  16:23 Найти цитируемый пост)
Чем загрязняется браузер?

Вы видели такй-же эффект на странице с документацией? по ссылке в предыдущен посте? 
Можно ли увидеть пример "загрязнения"?

Автор: affka 23.12.2007, 08:31
Цитата(ksnk @  23.12.2007,  00:17 Найти цитируемый пост)
Вы видели такй-же эффект на странице с документацией? по ссылке в предыдущен посте? Можно ли увидеть пример "загрязнения"?

Честно говоря, в других местах не наблюдал... Хотя может и не в этом дело.. Просто заодно спросил.
Пример особого смысла нет давать.. посколько там много кода.. но всё же кинул - http://theportal.ru/NovaWorld/

ЗЫ: насчёт stop() спасибо.. Просто я юзал неоффициальный справочник.. переведённый на русский. с rsdn.ru

Автор: ksnk 23.12.2007, 09:20
stop появился в версии 1.2.1... Раньше его не было

Можно посмотреть на страничку в http://www.google.ru/search?q=drip+memory+leak+Explorer'е и обнаружить, что, с точки зрения IE6,  осталось слишком много дыр в памяти. В подобном случае в своем web-приложении мне пришлось отказаться от Драг&Дропа на jQuery и описать свой D&D механизм, обработчики событий в котором ставятся с помощью addEventlistener|attachEvent'ов. 

Хотя, видимо, что-то есть еще, так как в FireFox такого глюка не должно быть...

Автор: affka 9.1.2008, 11:11
up!

Вот после долгих празднований и подготовке к экзаменам появилось чуток времени и решил заняться опять своими скриптами и поднять тему.

Вообщем нашёл почему у меня тормозят скрипты... У меня много раз вызывается функция перемещения... А задаётся она при инициализации клика мыши по окну, а потом (при отпускании) убирается. короче говоря:

Код

Init: 
$(document)
    .bind('mousemove', $.win.Move)
    .bind('mouseup', $.win.Stop);

...

Stop:

$(document)
    .unbind('mousemove', $.win.Move)
    .unbind('mouseup', $.win.Stop);

Подобное видел в других местах, но там работало.. а здесь, как я понял, unbind не срабатывает! В чём может быть загвоздка?

ЗЫ: если перейти к обокновенному способу (document.onmousemove = $.win.Move .. ), то всё работает без косяков.. Однако всёравно хочется на jQuery сделать, ибо уж начал на нём писать %)

Автор: ksnk 9.1.2008, 11:29
можно написать     .unbind('mousemove'), и если поможет - еще раз перечитатьhttp://docs.jquery.com/Events/unbind#typedatasmile

Автор: affka 9.1.2008, 12:26
.unbind('mousemove') тоже не помогло.. как и .unbind() просто... т.е. он вообще не хочет "отбиндивать"...
Из сецификации ничего нового не узнал %)

сейчас попробую простецкий пример написать.. вдруг там будет работать smile

Добавлено через 12 минут и 58 секунд
да.. скорее у меня руки корявые.. Пошёл править  smile 

Автор: ksnk 9.1.2008, 12:48
Можно скачать новую версию jQuery с сайта. Там оно, вроде бы работает ... 
P.S. Брать нужно ту, которая самим сайтом используется ;) 1.2.2b2

Автор: affka 9.1.2008, 13:03
Да это не в жквери дело.. у меня версия новая.. тут в другом косяк..
ибо на простом примере все работает как надо :о)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)