Benutzung von elmover.js
|
ElMover ist eine Objektklasse,
mit der man einzelne absolut positionierbare Seitenelemente
geradlinig über den Bildschirm wandern lassen kann.
Die Einbindung von timer.js in das HTML-Dokument ist zwingend notwendig.
|
|
Funktionen von ElMover-Objekten
|
Objekt erzeugen | |
new ElMover(elementname,left,top)
|
kreiert ein neues ElMover-Objekt und meldet es beim Timer an
element: Seitenelement-Name
left: X-Koordinate
top: Y-Koordinate
|
Funktion | Bedeutung |
SetTarget(xtarget,ytarget,step,timestep)
|
Startet die Verschiebung eines Seitenelementes
xtarget: X-Zielkoordinate
ytarget: Y-Zielkoordinate
step: Koordinaten-Schrittweite
timestep:
0: inaktiv
1: jeden Timer-Tick nutzen
2: jeden zweiten Timer-Tick nutzen
3: jeden dritten Timer-Tick nutzen
#: jeden #-ten Timer-Tick nutzen
|
JumpTo(left,top)
|
Bewegt ein Seitenelement mit sofortiger Wirkung
left: neue X-Koordinate
top: neue Y-Koordinate
|
SetEventHandler(eventhandler)
|
Setzt die Funktion, die bei Start oder Stop des Vorganges aufgerufen werden soll
Bei Start bekommt die Eventhandler-Funktion dann die Zahl 1, bei Stop 0 übergeben.
|
|
|
Quelltext von elmover.js
|
/* (c) 2001 Ulrich Kritzner */
function ElMover_Set_Target(xtarget,ytarget,step,timestep)
{
this.xtarget=xtarget;
this.ytarget=ytarget;
this.step=step;
this.timestep=timestep;
this.timeval=0;
if (this.EventHandler)
this.EventHandler(1);
u_timer_continue();
}
function ElMover_TimerFunc()
{
with (this)
{
xstep=xpos-xtarget;
ystep=ypos-ytarget;
if (xstep>step)
xstep=step;
if (xstep<(-step))
xstep=-step;
if (ystep>step)
ystep=step;
if (ystep<(-step))
ystep=-step;
xpos=xpos-xstep;
ypos=ypos-ystep;
if ((xpos==xtarget)&&(ypos==ytarget)&&(timestep>0))
{
timestep=0;
if (this.EventHandler)
this.EventHandler(0);
}
element.left=xpos;
element.top=ypos;
}
}
function ElMover_Jump_To(left,top)
{
with (this)
{
xpos=left;
ypos=top;
element.left=xpos;
element.top=ypos;
}
}
function ElMover_Set_Event_Handler(eventhandler)
{
this.EventHandler=eventhandler;
}
function ElMover(elementname,left,top)
{
this.SetTarget=ElMover_Set_Target;
this.TimerFunc=ElMover_TimerFunc;
this.JumpTo=ElMover_Jump_To;
this.SetEventHandler=ElMover_Set_Event_Handler;
this.timestep=0;
this.timeval=0;
this.xpos=left;
this.ypos=top;
this.xtarget=0;
this.ytarget=0;
this.step=0;
this.xstep=0;
this.ystep=0;
if (window.document.all)
this.element=eval("window.document.all."+elementname+".style");
else
if (typeof(window.document.getElementById)=="function")
this.element=window.document.getElementById(elementname).style;
else
this.element=eval("window.document."+elementname);
u_timer_add_object(this);
}
|
|