Для примера рассмотрим движение сверху вниз. Затем по аналогии Вы сможете
организовывать перемещение в других направлениях или по более сложным
траекториям. Для того, чтобы осуществить перемещение нужно знать четыре
значения: текущее положение, место остановки, шаг перемещения, время задержки.
Мы ограничимся двумя переменными, а шаг и задержку зададим
константами.
Создадим функцию перемещения
function
moveLayerDown(layerName,currTop,topstop)
В ней сначала проверим, не
достиг ли слой конечной точки
if (eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.top != topstop'))
если это не произошло, сдвинем слой вниз
currTop+=2;
eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.top = currTop');
и рекурсивно вызовем функцию
setTimeout('moveLayerDown("'+layerName+'",'+currTop+','+topstop+')',50);
Вот, что у нас получилось:
function moveLayerDown(layerName,currTop,topstop){
if (eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.top != topstop')){
currTop+=2;
eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.top = currTop');
setTimeout('moveLayerDown("'+layerName+'",'+currTop+','+topstop+')',50);
}
}