Grüssle,
setTimeout kann ich nicht verwenden (glaube ich zumindest) denn das ist mein Skript:
<script>
//<!--
//<![CDATA[
/* Diese Farben sind für Netscape und Opera, da diese die deHexize-Funktion nicht unterstuetzen */
//priFade
colors = new Array("ffffff", "D2CFC2", "B2AE97", "999476", "827C56", "70693F", "5E5626", "5E5626", "70693F", "827C56", "999476", "B2AE97", "D2CFC2", "ffffff")
//secFade
altColors = new Array();
/* MSIE Farben... */
fadeInColor = "#5E5626"; //priFade
fadeOutColor = "#ffffff"; //priFade
altInColor = ""; //secFade
altOutColor = ""; //secFade
/* Variablen ersetzen */
//fadeInColor = dehexize(fadeInColor.toLowerCase());
//fadeOutColor = dehexize(fadeOutColor.toLowerCase());
//altInColor = dehexize(altInColor.toLowerCase());
//altOutColor = dehexize(altOutColor.toLowerCase());
/* Farb-Details festlegen */
speed = 100;
stepIn = colors.length * 2; //def. 35
stepOut = colors.length * 2; //def. 35
/* sonst. Variablen */
var brwsr;
var fadeId = new Array();
var elementDoc, elementTag, elementClass, elementUID;
var timerID;
autofade = 0;
colorNum =0;
var elm;
/* Event-Handler */
document.onmousemove = detect;
function detect() {
if (document.layers) { /* NN4 (NN) */
for(j=0; j < document.links.length; j++) {
document.links[j].onmouseover = doOver;
document.links[j].onmouseout = doOut;
}
} else if (document.all) { /* MSIE */
if (event.srcElement.parentNode.tagName=="A" && event.srcElement.tagName=="IMG") {
} else if (event.srcElement.firstChild.tagName=="IMG" && event.srcElement.tagName=="A") {
} else if (event.srcElement.tagName=="A" && event.srcElement.firstChild.tagName!="IMG") {
event.srcElement.onmouseover = doOver;
event.srcElement.onmouseout = doOut;
}
} else if (document.getElementById) { /* NN6+ (NS) OP */
for(j=0; j < document.getElementsByTagName("a").length; j++) {
link = document.getElementsByTagName("a");
link[j].onmouseover = doOver;
link[j].onmouseout = doOut;
}
}
}
function doOver(obj) {
clearTimeout(timerID);
/* Wandel leeres obj in id des aktiven elm um! (ie||ns/moz||op) */
if (!obj || obj=="[object]" || obj=="[object Event]" || obj=="[object MouseEvent]") {
elm = this.id;
} else {
elm = obj;
}
autofade = 1; //<== DAS ist das eigentliche Problem
fade(elm);
}
function doOut(obj) {
clearTimeout(timerID);
/* Wandel leeres obj in id des aktiven elm um! (ie||ns/moz||op) */
if (!obj || obj=="[object]" || obj=="[object Event]" || obj=="[object MouseEvent]") {
elm = this.id;
} else {
elm = obj;
}
autofade = null; //<== und nat. das
}
function fade(obj) {
xmp = obj;
if (autofade==1) {
if (colorNum<=colors.length-1) {
document.getElementById(xmp).style.color = "#" + colors[colorNum];
colorNum++
timerID = setTimeout("fade(xmp)", speed); //<=== hier?
} else {
colorNum = 0;
timerID = setTimeout("fade(xmp)", speed); //<=== oder hier?
}
}
}
//]]>
//-->
</script>
Ich benutze bereits ein timeout um den "Fade" pulisieren zu lassen..
Sorry, ich hab echt keinen Plan wie ich mit einem weiteren TimeOut mehrere Objekte "faden" könnt.. *schnief*