Lasse Jensen <lassejensen1@ofir.dk> writes:
> Jeg håber I kan hjælpe mig, fordi ellers ved jeg ikke hvad jeg
> skal gøre. Jeg vil gerne tilføje target_"blank" i et javascript.
>
> Koden: (Beklager den lange kode
)
Andre har givet svaret, så det her er et par ekstra kommentarer.
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
> <html xmlns="
http://www.w3.org/1999/xhtml" xml:lang="da"
> lang="da">
> <head>
> <title>Javascript banner rotation</title>
> <script type="text/javascript">
> <!-- Dette script og mange flere -->
> <!-- findes hos
http://www.html.dk -->
> <!-- Start
Du behøver ikke HTML-kommentarer omkring dit script, så "<!-- Start"
kan fjernes. De andre kommentarer burde være pakket ind i
Javascript-kommetar-tegn (/* Dette script ... */) i stedet.
> bannerpics=new Array;
> bannerurls=new Array;
Det er pænere at deklarere sine variable før man bruger dem.
var bannerpics = new Array;
var bannerurls = new Array;
Det gør ikke den store forskel her, men det er en god vane
at have.
> bannerpics[1]="banner1.gif";
> bannerurls[1]="
http://www.html.dk/tutorials";
Jeg foretrækker at skrive Arrays direkte:
var bannerpics = ["banner1.gif","banner2.gif","banner3.gif",
"banner4.gif","banner5.gif"];
Og lad dem starte fra 0, ikke 1, det er det mest naturlige i Javascript.
> bannerpics[5]="banner5.gif";
> bannerurls[6]="
http://www.html.dk/nyhedsgrupper";
^
Skulle nok være bannerurls[5].
Den slags fejl undgår man ved at skrive Arrayet direkte.
> num = Math.random();
> num = 1 + ( num * ((bannerpics.length - 1)-1));
Dette er det samme som
num = 1 + (num * ( bannerpics.length - 2));
> num = Math.round(num);
Din tilfældighed er ikke fair. Den giver halv så stor chance for at
blive valgt til det først og sidste banner, i forhold til de andre.
Brug
var num = Math.floor(Math.random()*bannerpics.length-1)+1;
(og fjern "-1" og "+1" hvis du lader dit array starte fra 0,
en anden god grund til at gøre det)
> document.write("<div><a href='" + bannerurls[num] + "'>");
Som sagt var det her du skulle tilføje "target='_blank'".
> document.write("<img src='" + bannerpics[num] + "' border='0' ");
"border" er ikke en lovlig attribut i img-tags i XHTML 1.0 Transitional.
Brug
style="border:none;"
i stedet.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'