Показать сообщение отдельно
  #3 (permalink)  
Старый 27.12.2009, 14:58
Аспирант
Отправить личное сообщение для haha Посмотреть профиль Найти все сообщения от haha
 
Регистрация: 02.08.2009
Сообщений: 40

Можно сделать небольшую задержку перед началом анимации. Нужна она для запуска анимации после проверки какого-нибудь флажка, который и будет переключаться на mouse(over|out). Бонус: если будет быстрое случайное проведение по объекту, то анимации не будет.

var waiter,flag; //глобальные для этих функций

function expande(){ if(flag)resize_expanse() }
function reduce(){ if(!flag)resize_reduction() }

function anim_over(){//забиндить на mouseover
 flag = true;
 clearTimeout(waiter);
 waiter = setTimeout(expande,50);
}

function anim_out(){//на mouseout
 flag = false;
 clearTimeout(waiter);
 setTimeout(reduce,50);
}

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

Последний раз редактировалось haha, 27.12.2009 в 15:03. Причина: а вот надо
Ответить с цитированием