DivContent - JavaScript-QuelltextQuelltext von divcontent.js |
![]() ![]() ![]() |
Dies ist die Auflistung der Datei divcontent.js,
die die Funktionalität für den Layer-Inhalts-Manager bereitstellt.
Im folgenden Quelltext sind Prozedurdeklarationen rot und Kommentare grün markiert. |
![]() ![]() ![]() ![]() |
/* Droeppez Layerinhaltsmanager * (c) 2002 Ulrich Kritzner * Die Verwendung dieses Scripts in kommerziellen Seiten ist kostenpflichtig */ /* Warnung: * Nicht alle Browser unterstuetzen die gleichzeitige Ausfuehrung mehrerer Timeouts. * Daher muss beim gleichzeitigen Einsatz mehrerer Layerinhaltsmanager * oder der Kombination mit anderen Droeppez-Animationen * die Datei "timer.js" im HTML-Dokument geladen werden. * * Erklaerung der "unverstaendlichen" Quelltextabschnitte: * wird "timer.js" _nicht_ eingebunden (if (!(this.usetimer))), * kuemmert sich Banner selbst um seine timeouts, * wird "timer.js" eingebunden (if (this.usetimer)), * laesst der Layerinhaltsmanager seine timeouts vom timer managen * Die Funktionen des timers sind in der extra Datei "timer.js" definiert! */ function DDC_SetContentHandler(ContentHandler) { this.ContentHandler=ContentHandler; } function DDC_TimerFunc() { var text="Droeppez Layer Content Manager"; if (!this.running) return; if (this.ContentHandler) text=this.ContentHandler(); if (this.isDOM) this.element.innerHTML=text; else { this.element.document.open(); this.element.document.write(text); this.element.document.close(); } if (this.usetimer) /* wenn timer.js geladen ist: */ this.timestep=this.tmstep; else /* wenn timer.js _nicht_ geladen ist: */ this.timeout=window.setTimeout(this.name+".TimerFunc()",this.elapse); } function DDC_Step() { var text="Droeppez Layer Content Manager"; if (this.running) return; if (this.ContentHandler) text=this.ContentHandler(); if (this.isDOM) this.element.innerHTML=text; else { this.element.document.open(); this.element.document.write(text); this.element.document.close(); } } function DDC_Run(elapse) { this.elapse=elapse; this.running=1; if (this.usetimer) /* wenn timer.js geladen ist: */ { this.tmstep=Math.round(this.elapse/u_timer_elapse); if (this.tmstep<1) this.tmstep=1; this.timestep=1; if (u_timer_elapse>0) u_timer_continue(); } else /* wenn timer.js _nicht_ geladen ist: */ { if (this.timeout!=0) window.clearTimeout(this.timeout); this.timeout=0; this.TimerFunc(); } } function DDC_Stop() { this.running=0; if (this.usetimer) /* wenn timer.js geladen ist: */ this.timestep=0; else /* wenn timer.js _nicht_ geladen ist: */ if (this.timeout!=0) { window.clearTimeout(this.timeout); this.timeout=0; } } function DivContent(name,elementname) { this.name=name; this.running=0; this.SetContentHandler=DDC_SetContentHandler; this.TimerFunc=DDC_TimerFunc; this.Run=DDC_Run; this.Step=DDC_Step; this.Stop=DDC_Stop; this.ContentHandler=0; this.isDOM=0; this.elapse=0; if (window.document.all) /* MSIE, Konqueror, Opera: */ this.element=eval("window.document.all."+elementname); else if (typeof(window.document.getElementById)=="function") /* Netscape6, Mozilla: */ this.element=window.document.getElementById(elementname); else /* Netscape4: */ this.element=eval("window.document."+elementname); if (this.element.innerHTML) /* Netscape6, Mozilla, MSIE, Konqueror: */ this.isDOM=1; if (typeof(u_timer_add_object)=="function") /* wenn timer.js geladen ist: */ { this.usetimer=1; this.timestep=0; this.tmstep=1; this.timeval=0; u_timer_add_object(this); } else /* wenn timer.js _nicht_ geladen ist: */ { this.usetimer=0; this.timeout=0; } } |
![]() ![]() ![]() |
Autor: Ulrich Kritzner |