TKaeding Geschrieben 19. Juni 2009 Teilen Geschrieben 19. Juni 2009 Servus, vorneweg muss ich erstmal sagen das ich von JS kaum bis keine Ahnung habe. Für unseren Webshop haben wir diverse Banner, welche im wechsel auf der Hauptseite angezeigt werden sollen. Ansich soweit kein Problem, gibt ja genug Scripte im Netz. Folgendes Script verwende ich : Das ist die banner.js: Banner = new CreateBanner() function CreateBanner() { this.Frequenz = 15000; this.img = ''; this.i = 0; this.Imgs = new Array(); this.Links = new Array(); this.Add = Banner_Add; this.Next = Banner_Next; this.Start = Banner_Start; this.onclick = Banner_onclick; this.initi = Banner_initi; } function Banner_Add(s,l) { this.Imgs[this.Imgs.length] = s; this.Links[this.Links.length] = l; } function Banner_Next() { this.i++; if(this.i >= this.Imgs.length){this.i = 0} document[this.img].src = this.Imgs[this.i]; window.setTimeout('Banner.Next()',this.Frequenz); } function Banner_Start(){ this.initi(); this.Next(); } function Banner_initi() { document[this.img].onclick = Banner.onclick; } function Banner_onclick() { self.open(Banner.Links[Banner.i],''); } Das steht dann so im Head: <script language="JavaScript" src="banner.js"></script> <script language="JavaScript"> <!-- Banner.img = 'BannerBild'; Banner.Add('banner1.jpg','seite1.htm'); Banner.Add('banner2.jpg','seite2.htm'); Banner.Add('banner3.jpg','seite3.htm'); //--> </script> So steht es dann im Body : <body onload="Banner.Start()"> <a href="#" ><img src="" name="BannerBild" border="0"></a> Funktioniert auf der Hauptseite auch ohne Probleme und Fehler. Aber sobald man auf eine Unterseite geht, bekommt man folgenden Fehler: Details zum Fehler auf der Webseite Meldung: 'document[...]' ist Null oder kein Objekt Zeile: 30 Zeichen: 3 Code: 0 URI: http://......../images/banner.js Was ist hier denn falsch, bzw was kann ich anders machen? Wenn ich die Fehlermeldung richtig verstehe, resultiert diese aus dem "banner.js". Kann ich die Funktion vielleicht erst im Body in der entsprechenden Template aufrufen? Wenn ja wie stelle ich das am besten an? Vielen dank schonmal im vorraus. Gruß, Tim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
xm22 Geschrieben 19. Juni 2009 Teilen Geschrieben 19. Juni 2009 function Banner_Add(s,l) Banner.Add('banner1.jpg','seite1.htm'); Was ist denn das? So hier ist es korrekt -> function Banner_Add(s,l)... wird zu Banner.prototype.Add = function(s, l)... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TKaeding Geschrieben 19. Juni 2009 Autor Teilen Geschrieben 19. Juni 2009 function Banner_Add(s,l) Banner.Add('banner1.jpg','seite1.htm'); Was ist denn das? So hier ist es korrekt -> function Banner_Add(s,l)... wird zu Banner.prototype.Add = function(s, l)... Also jetzt nochmal langsam damit ich es auch kapiere Anstatt function Banner_Add(s,l) soll da Banner.prototype.Add = function(s, l) rein. Woher kommt denn das prototype bzw. was macht das ? Zur einfacheren Verständlichkeit hier der Link der Seite von der kopiert habe: JavaScript - Beispiele: Bilder - HTMLWorld Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TKaeding Geschrieben 19. Juni 2009 Autor Teilen Geschrieben 19. Juni 2009 Habs mal versucht. Jetzt hab ich auf der Hauptseite schon 3 Fehler und ausserdem funktioniert dass Script dann nicht mehr. Hier die Fehler: Details zum Fehler auf der Webseite Zeitstempel: Fri, 19 Jun 2009 14:46:32 UTC Meldung: 'Banner_Add' ist undefiniert Zeile: 10 Zeichen: 2 Code: 0 URI: http://..../images/banner.js Meldung: 'Banner' ist undefiniert Zeile: 56 Zeichen: 3 Code: 0 URI: http://...../eshop.php Meldung: 'Banner' ist undefiniert Zeile: 76 Zeichen: 1 Code: 0 URI: http://...../eshop.php :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.