wm-help.net -> Статьи из журнала -> Программирование -> Движение слоя по окну -> Версия для печати

Движение слоя по окну

Автор статьи: infocity.kiev.ua ©
Сайт Автора: infocity.kiev.ua
E-mail Автора: Нет
Дата публикации: 17.07.2005

 Для примера рассмотрим движение сверху вниз. Затем по аналогии Вы сможете организовывать перемещение в других направлениях или по более сложным траекториям. Для того, чтобы осуществить перемещение нужно знать четыре значения: текущее положение, место остановки, шаг перемещения, время задержки. Мы ограничимся двумя переменными, а шаг и задержку зададим константами.

Создадим функцию перемещения

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);
  }    
}
"Движение слоя по окну"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2007.
Перепечатка материалов разрешается, только после письменного разрешения автора (e-mail). При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны.
Rambler's Top100