P
Pyseudonimm
Hallo in die Runde,
ich kämpfe gerade mit einem kleinen Problem, das sicherlich schon meherer Anfänger hatten. Zumal, wenn sie nicht direkt jQuery eingesetzt haben.
Und zwar eine Aktion nach Aufruf meiner Timeout-Funktion schneller ausgeführt, als die Funktion zuvor zum Ausführen der eigentlichen Aufgabe braucht.
Hier mein Script:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css"> div {height:150px;}
</style>
</head>
<body>
<div style="height:150px;border:1px solid #000;" id="header-inner">
header-inner
</div>
</body>
<script type="text/javascript">
function setNewSize (e, ts, s) {
var t=20
var b=5;
s = s||0;
s=s+b;
if (s<=ts) {
e.style.height=s;
window.setTimeout(function () { setNewSize(e, ts, s); }, t);
} else {
e.style.height=ts;
}
}
function ResizeHeader() {
var hi = document.getElementById("header-inner");
setNewSize(hi,100);
//document.write("ok");
}
if (window.addEventListener){
window.addEventListener("load", ResizeHeader, false)}
else if (window.attachEvent) {
window.attachEvent("onload", ResizeHeader)}
</script>
</html>
Wenn ich die Zeile "document.write("ok");" nicht deaktiviere, wird die Ausführung der Funktion überhaupt nicht angezeigt. Dasselbe Problem habe ich auch auf der Webseite,Rahmen wird nicht verkleinert.
Wie kann ich es - analog zu jQuery's Callback - denn erreichen, dass eine Callback-Funktionaliät ausgeführt wird?
Was muss ich da noch einbauen, dass das System solange wartet, bis der Rahmen in diesem Fall steht?
Vielen Dank + beste Grüße
Martin
ich kämpfe gerade mit einem kleinen Problem, das sicherlich schon meherer Anfänger hatten. Zumal, wenn sie nicht direkt jQuery eingesetzt haben.
Und zwar eine Aktion nach Aufruf meiner Timeout-Funktion schneller ausgeführt, als die Funktion zuvor zum Ausführen der eigentlichen Aufgabe braucht.
Hier mein Script:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css"> div {height:150px;}
</style>
</head>
<body>
<div style="height:150px;border:1px solid #000;" id="header-inner">
header-inner
</div>
</body>
<script type="text/javascript">
function setNewSize (e, ts, s) {
var t=20
var b=5;
s = s||0;
s=s+b;
if (s<=ts) {
e.style.height=s;
window.setTimeout(function () { setNewSize(e, ts, s); }, t);
} else {
e.style.height=ts;
}
}
function ResizeHeader() {
var hi = document.getElementById("header-inner");
setNewSize(hi,100);
//document.write("ok");
}
if (window.addEventListener){
window.addEventListener("load", ResizeHeader, false)}
else if (window.attachEvent) {
window.attachEvent("onload", ResizeHeader)}
</script>
</html>
Wenn ich die Zeile "document.write("ok");" nicht deaktiviere, wird die Ausführung der Funktion überhaupt nicht angezeigt. Dasselbe Problem habe ich auch auf der Webseite,Rahmen wird nicht verkleinert.
Wie kann ich es - analog zu jQuery's Callback - denn erreichen, dass eine Callback-Funktionaliät ausgeführt wird?
Was muss ich da noch einbauen, dass das System solange wartet, bis der Rahmen in diesem Fall steht?
Vielen Dank + beste Grüße
Martin