Forenindex » Programmierung/Entwicklung » JavaScript » Script zeitgesteuert ausführen

Script zeitgesteuert ausführen

Floydian
Beiträge gesamt: 26

18. Nov 2003, 19:37
Bewertung:

gelesen: 3096

Beitrag als Lesezeichen
Hallo alle,
ich habe ein Script, das die Farbe der Seite von einer in eine andere "faded". Wie kann ich dieses Script nun Zeitgesteuert ausführen lassen - also so'n paar Sekunden nach Seitenaufruf.

Leider habe ich noch keinen Zeitgesteuerten "Fader" gefunden.

Für eure (Deine) Hilfe wäre ich sehr dankbar !

Bis denne ...
Floyd

Script zeitgesteuert ausführen

SabineP
Beiträge gesamt: 7586

18. Nov 2003, 19:46
Bewertung:

gelesen: 3096

Beitrag als Lesezeichen
Floyd, lies mal hier nach:
http://selfhtml.teamone.de/...ndow.htm#set_timeout

mit

window.setTimeout("funktionsname()",Zeit_in_Millisekunden);

kannst Du javascript-Funktionen nach einer bestimmten Zeit aufrufen.

Gruß Sabine

Script zeitgesteuert ausführen

Floydian
Beiträge gesamt: 26

18. Nov 2003, 21:18
Bewertung:

gelesen: 3096

Beitrag als Lesezeichen
Besten Dank Sabine !

Hier ist der Code für den Fader.
Kannst Du oder jemand anderes mir sagen, was ich hier verändern muß, um den Wechsel von einer Farbe in die andere zu verlangsamen ?
Ist geklaut aber ich bin in der Lernphase !
Schöne Grüße...
Floyd


-----------------------------------------------------
function makearray(n) {
this.length = n;
for(var i = 1; i <= n; i++)
this = 0;
return this;
}
hexa = new makearray(16);
for(var i = 0; i < 10; i++)
hexa = i;
hexa[10]="a"; hexa[11]="b"; hexa[12]="c";
hexa[13]="d"; hexa[14]="e"; hexa[15]="f";
function hex(i) {
if (i < 0)
return "00";
else if (i > 255)
return "ff";
else
return "" + hexa[Math.floor(i/16)] + hexa[i%16];
}
function setbgColor(r, g, b) {
var hr = hex(r); var hg = hex(g); var hb = hex(b);
document.bgColor = "#"+hr+hg+hb;
}
function fade(sr, sg, sb, er, eg, eb, step) {
for(var i = 0; i <= step; i++) {
setbgColor(
Math.floor(sr * ((step-i)/step) + er * (i/step)),
Math.floor(sg * ((step-i)/step) + eg * (i/step)),
Math.floor(sb * ((step-i)/step) + eb * (i/step)));
}
}
function fadein() {
fade(240,232,223,0,0,0,255);
}
window.setTimeout("fadein()",2000);

------------------------------------------------------

(Dieser Beitrag wurde von Floydian am 18. Nov 2003, 21:24 geändert)

Script zeitgesteuert ausführen

Markus Walker
Beiträge gesamt: 494

20. Nov 2003, 08:23
Bewertung:

gelesen: 3096

Beitrag als Lesezeichen
window.setTimeout() führt die aufgeführte Anweisung genau einmal aus, was hier wohl nicht Sinn der Sache ist. Eine repetitive Ausführung kann mit window.setInterval() erreicht werden:
http://selfhtml.teamone.de/...dow.htm#set_interval

Aber achte auf die Abbruch-Bedingung. Diese muss unbedingt gesetzt werden, da sonst das Script in alle Ewigkeit oder bis zum nächsten Computer-Crash läuft. Dieser Crash ist bei der setInterval() Methode zu erwarten, wenn sie lange genug läuft, da diese an einem Memmory-Leak leided; also bitte nicht stundenlang laufen lassen.


Zur Umwandlung von Dezimal- in Hex-Zahlen könnte übrigens die Number.toString() Methode benutzt werden:
http://selfhtml.teamone.de/...number.htm#to_string

function hex(dec_number) {
if (dec_number == 0) return("00"); //ergibt eine doppelte Null
else return(dec_number.toString(16));
}