• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Div mit wechselnem Inhalt

Status
Für weitere Antworten geschlossen.

dasch

Neues Mitglied
Hallo!
Ich bastel grade an einem neuem Script, das zu 80% aus Javascript / Ajax besteht.
Stoße aber leider im Firefox und im Internet Explorer auf ein Problem:(
Ich habe eine Div in der ein text steht, "Bitte hier Text eingeben" dieser Text geht "onmousecover" weg und es erscheint eine textarea, und der user kann seine eingabe machen.
Nun soll die Textarea aber nach 4,5 Sekunden ohne Usereingabe wieder verschwinden.

Dazu hab ich mir folgenden Code geschrieben:
Code:
var resetf;
function resetit(div,text,off){ //startet den resetvorgang der nach einer bestimmten zeit ohne texteingabe aufgerufen wird
	if(off !== 1){
		resetf = window.setTimeout("resetfunc('"+div+"','"+text+"')",4500);
	}else{
		window.clearTimeout(resetf);
	}
}
function resetfunc(div,text){ //resetfunction die mit resetit(); gestartet wird
	
	document.getElementById(div).onmouseover = "changecontent('"+div+"'); resetit('"+div+"','"+text+"',2);";
	document.getElementById(div).innerHTML = text; 
	window.clearTimeout(resetf);
}
Klappt wie oben bereits gesagt leider nicht im Firefox, und Internet Explorer. Im Opera allerdings geht es Prima, genauso wie es soll.
Kann mir jemand helfen?
 
Werbung:
Closures suchst du. Die Parameter der Funktionen sollten automatisch geclosured sein.
Und du musst setTimeout() eine Funktion übergeben keinen String.
Code:
setTimeout(function () { resetfunc(div, text) }, 4500);
Code:
document.getElementById(div).onmouseover = function () {
    changecontent(div);
    resetit(div, text ,2);
};
Es wäre auch besser, wenn du Objekte weiterreichen würdest, statt immer von neuem getElementById() aufzurufen, was in deinem ganzen Script sicher der Fall sein wird.
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben