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:
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