Hallo erstmal ich hab da ma ne frage:
bei der Function die ich geschrieben hab macht der das Timeout nicht richtig und ruft es direkt 2mal auf und verschiebt denn Layer direkt auf den endpunkt und nicht erst auf den einen Punkt und wartet dann und dann auf den Endpunkt!
Erbitte Hilfe!!
Hier der Quellcode:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
var Punkte = new Array();
Punkte[0] = new Array;
Punkte[0]["x"] = 450;
Punkte[0]["y"] = 450;
Punkte[1] = new Array;
Punkte[1]["x"] = 240;
Punkte[1]["y"] = 240;
Punkte[2] = new Array;
Punkte[2]["x"] = 130;
Punkte[2]["y"] = 130;
function move_oefter(){
var firstRun = "false";
for(var i=0; i<Punkte.length; i++) {
if(firstRun == "true"){
// alert("setTimeout wird gestartet")
document.getElementById("debug").value = document.getElementById("debug").value + "Warte 2 sec...\n"
window.setTimeout('Move("layer1", ' + Punkte[i]["x"] + ', ' + Punkte[i]["y"] + ')','2000');
}
else {
document.getElementById("debug").value = document.getElementById("debug").value + "Sofort...\n"
Move("layer1", Punkte[i]["x"], Punkte[i]["y"]);
firstRun = "true";
}
}
}
function Move(element_name, x, y) {
var obj;
if (document.all) {
eval('obj = document.all.' + element_name);
}
else {
obj = document.getElementById(element_name);
}
document.getElementById("debug").value = document.getElementById("debug").value + " Left: " + obj.style.left + ", Right: " + obj.style.top + "\n"
obj.style.left = x + 'px';
obj.style.top = y + 'px';
return true;
}
</script>
</head>
<body>
<div id="layer1" name="layer1" style="position:absolute; left:10px; top:10px;">
dddd</div>
<p> </p>
<p> </p>
<p><a href="#" onClick="move_oefter();">bewege</a></p>
<p>
<textarea name="debug" cols="40" rows="6" id="debug"></textarea>
</p>
</body>
</html>
Vielen dank schon mal im Vorraus!!!