Banner - JavaScript-QuelltextQuelltext von banner.js |
![]() ![]() ![]() |
Dies ist die Auflistung der Datei banner.js,
die die Funktionalität für Bannerwerbung bereitstellt.
Im folgenden Quelltext sind Prozedurdeklarationen rot und Kommentare grün markiert. |
![]() ![]() ![]() ![]() |
/* Bannerwerber * (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 Banner * 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 Banner seine timeouts vom timer managen * Die Funktionen des timers sind in der extra Datei "timer.js" definiert! */ function B_AddEntry(imgsrc,elapse,linkURL,useOpen) { var entry=new Object(); entry.image=new Image(); entry.image.src=imgsrc; entry.elapse=elapse; if (entry.elapse<20) entry.elapse=20; if (entry.elapse<this.minelapse) this.minelapse=entry.elapse; entry.linkURL=linkURL; entry.useOpen=useOpen; this.entries[this.entries.length]=entry; } function B_TimerFunc() { this.cur=this.cur%this.entries.length; this.curentry=this.entries[this.cur]; this.cur++; document.images[this.imgnum].src=this.curentry.image.src; if (this.usetimer) /* wenn timer.js geladen ist: */ { this.timestep=Math.round(this.curentry.elapse/u_timer_elapse); if (this.timestep<1) this.timestep=1; } else /* wenn timer.js _nicht_ geladen ist: */ this.timeout=window.setTimeout(this.name+".TimerFunc()",this.curentry.elapse); } function B_Run() { if (this.usetimer) /* wenn timer.js geladen ist: */ { 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 B_FollowLink() { var linkURL=this.curentry.linkURL; if ((typeof(linkURL)=="string")&&(linkURL!="")&&(linkURL!="none")) { if (this.curentry.useOpen) window.open(linkURL,"_blank"); else top.location.href=linkURL; } } function Banner(name,imgnum) { this.name=name; this.imgnum=imgnum; this.cur=0; this.minelapse=1000; this.entries=new Array(); this.curentry=0; this.AddEntry=B_AddEntry; this.TimerFunc=B_TimerFunc; this.Run=B_Run; this.FollowLink=B_FollowLink; if (typeof(u_timer_add_object)=="function") /* wenn timer.js geladen ist: */ { this.usetimer=1; this.timestep=0; this.timeval=0; u_timer_add_object(this); } else /* wenn timer.js _nicht_ geladen ist: */ { this.usetimer=0; this.timeout=0; } } |
![]() ![]() ![]() |
Autor: Ulrich Kritzner |