Wie Kann ich diesem Befehl einen Loop zufügen ?
Was ist deiner Meinung nach ein Loop?
Eine Schleife? Mit defnierten Start und Endwert?
selfHTML ist eigentlich eine gute referenz für JS. Schon mal gelesen?
Du kommst da auf sowas:
for(var i=0;i < 10; i++) alert(i);
Aber das funktioniert bei deiner Anforferung nicht.
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" src="http://home.arcor.de/struebig/js/lib/layer.js"></script>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
var OBJ = null;
function main()
{
OBJ = getById('test');
setTimeout('move()', 500);
}
function move()
{
if(!OBJ) return;
var pos = pagePos(OBJ);
pagePos(OBJ, pos.y, pos.x + 2);
if(pos.x < 800) setTimeout('move()', 10);
}
</SCRIPT>
Das ist bereist ein "Loop" von der startposition, des OBJ bis 800. Das waren einfach Beispielwert, mit denen ich rumspielte.
Du musst deinen Layer mit left:-XXpx; positionieren, wobei XX die Breite des Layers ist. und dann in main() den Startwert speichern:
var start = 0;
function main()
{
OBJ = getById('test');
if(OBJ)
{
var tmp = pagePos(OBJ);
start = tmp.x;
setTimeout('move()', 500);
}
}
und dann bei deinem gewünschten Endwert, wieder auf den Startwert setzten.
function move()
{
var pos = pagePos(OBJ);
if(pos.x > XXX) pos.x = start;
pagePos(OBJ, pos.y, pos.x + 2);
setTimeout('move()', 10);
}
XXX = dein Endwert (vermutlich meinst du damit die Breite des Fensters, also
sowas:
XXX = (typeof window.innerWidth != 'undefined')? this.w = window.innerWidth : : parseInt(document.body.clientWidth);
Struppi.