Avatar billede norskov Nybegynder
29. september 2003 - 11:24 Der er 17 kommentarer og
1 løsning

Skiftende pics evt. i iframe

Hej

Jeg ønsker at køre skiftende reklamer for vores produkter i et lille vindue som skal ligge fast på alle vores sider.
Jeg havde forestillet mig at der skullel skiftes mellem 5-10 forskellige små reklamer der alle laves som JPG eller GIF.

Disse reklamer vil jeg placere et og så køre ud på alle vores sider.

Jeg ved intet om ASP eller PHP.

Er der nogen der kan hjælpe?

Mvh

Mads Nørskov
Avatar billede sbm Nybegynder
29. september 2003 - 12:40 #1
Hvis du kan leve med en IFRAME løsning (husk problemerne med at vise IFRAMES i f.eks. ældre Netscape browsere) kan du gøre det rimeligvis enkelt:

Du laver en HTML fil til hver af dine reklamer/bannere.

I headeren laver du et META tag, der ser omtrent således ud:

<meta http-equiv=Refresh content="30; url=http://www.ditdomain.dk/reklame2.htm">

Så skal du i dit iframe vise reklame1.htm som så efter 30 sekunder hopper til reklame2.htm. I reklame2.htm skal du henvise til reklame3.htm osv... Indtil reklame10.htm (eller hvor mange du nu har) der viser tilbage til reklame1.htm
Avatar billede norskov Nybegynder
29. september 2003 - 13:51 #2
Okay, det lyder rimeligt simpelt, kan du forklare hvordan man laver et iframe?

Grunden til jeg spurtge om evt. i iframe var at det var jeg blevet anbefalet,

Hvis der findes en bedre måde vil jeg gerne høre derom.
Avatar billede sbm Nybegynder
29. september 2003 - 14:06 #3
Iframe er såmænd en udemærket måde at gøre det på. Så bliver det kun dine bannere der bliver refreshet, og ikke hele siden.

Eksemplet her er taget fra W3C.org hvor du kan finde HTML standarden:

<IFRAME src="foo.html" width="400" height="500"
            scrolling="auto" frameborder="1">
    [Your user agent does not support frames or is currently configured
    not to display frames. However, you may visit
    <A href="foo.html">the related document.</A>]
</IFRAME>

Oversat til dit eget eksempel kunne det f.eks. se således ud:

<IFRAME src="reklame1.htm" width="400" height="500"
            scrolling="auto" frameborder="1">
    <!-- browseren kan ikke vise IFRAMES, så vi viser så i det mindste en af vores bannere. Den vil så bare IKKE blive refreshet/cyclet. -->
    <img src="banner1.jpg">
</IFRAME>

width og height skal du naturligvis sætte så det passer med dine behov, og så antages det mere eller mindre at alle dine reklamer har den samme størrelse. Ellers skal der en lidt mere avanceret løsning til.
Avatar billede roenving Novice
29. september 2003 - 15:37 #4
Det behøver du slet ikke:

<img src="banner1.jpg" name="bannerImg" width="600px" height="200px">

-- og så et lille script:

<script type="text/javascript">
//Angiv alle bannere inde i nedenstående helst i een lang linje
banners = ['banner1.jpg',banner2.jpg',banner3.jpg',banner4.jpg',banner5.jpg'];

count = 0;

imgs = new Array();

for(i=0;banners.length>i;i++){
  imgs[i] = new Image();
  imgs.src = banners[i];
}

function changeBanner(){
document.images['bannerImg'].src = imgs[count++].src;
if (count > banners.length)count = 0;
}
</script>

-- scriptet aktiveres onload:

<body onload="setInterval('changeBanner()',60000"><!-- er sat til at skifte for 60 s.-->
Avatar billede sbm Nybegynder
30. september 2003 - 08:35 #5
Jeps. Men ligesom Iframes er man så desværre ikke garderet 100%. Der er sikkert en del ældre browsere der ikke følger nutidens standard, og har problemer med koden. Dertil vil det så være påkrævet at JavaScript er slået til for at det virker.

Men sådan har de fleste løsninger jo deres ups and downs.
Avatar billede roenving Novice
30. september 2003 - 08:43 #6
-- og personligt er jeg holdt op med at understøtte javascript 1.0, og såmænd også v4-browserne, da deres udbredelse er blevet til næsten ingenting ...

Men det er forøvrigt lige præcis derfra ovenstående er understøttet, dvs. hvis man har anskaffet sin browser for 5-6 år siden vil den ovenstående virke !-)
Avatar billede sbm Nybegynder
30. september 2003 - 10:04 #7
Hmmm. Jeg sidder lige og kigger på dit eksempel...

Jeg kan se at changeBanner bliver kaldt med 60 sekunders forsinkelse, men hvordan bliver den kaldt anden gang, tredje gang, fjerde gang osv...?

Desuden. Begge disse løsninger lægger op til at det samme banner bliver vist som det første hver gang, så måske JavaScript versionen er at foretrække, og den så skal udvides med en randomizer?
Avatar billede sbm Nybegynder
30. september 2003 - 10:05 #8
Sorry. Du sætter jo interval og ikke delay. Jeg kan bare lære at læse.
Avatar billede norskov Nybegynder
01. oktober 2003 - 10:00 #9
hej roevming

nu har jeg prøvet dit script, men kan ikke få det til at virke.
Jeg har minimal forstand på scripts, og det er nok det der gør at jeg ikke kan få det til at virke.

Det første billed kommer fint frem, men så sker der ikke mere.
Hvor er det man skal aktivere via onload?

Og ved du om man kan sætte en random funktion op på billederne?

Mvh

Mads
Avatar billede sbm Nybegynder
01. oktober 2003 - 10:24 #10
Dine javascript funktioner bør altid stå inde i dit HEAD tag, som befinder sig i toppen af dit HTML dokument. Efter dit HTML tag men før dit BODY tag.
Onload er en del af dit BODY tag, hvor du f.eks. kan kalde flere javascript funktioner, hvor hvert kald er afsluttet/adskilt med semikolon.

Eks.

<html>
    <head>
        <title>Sidens navn</title>
        <script type="text/javascript">
<!-- Her kommer alt dit JavaScript -->
        </script>
    </head>
    <body onload="funktion1();funktion2();">
Bla bla bla... Alt dit indhold.
    </body>
</html>
Avatar billede norskov Nybegynder
01. oktober 2003 - 11:08 #11
Nu ser min side sådan ud. Men jeg kan ikke få det til at virke.

Kan I se hvad der er galt?

<html>
<head>
<title>banner test</title>


<script type="text/javascript">

banners = ['banner1.jpg',banner2.jpg',banner3.jpg',banner4.jpg',banner5.jpg'];

count = 0;

imgs = new Array();

for(i=0;banners.length>i;i++){
  imgs[i] = new Image();
  imgs.src = banners[i];
}

function changeBanner(){
document.images['bannerImg'].src = imgs[count++].src;
if (count > banners.length)count = 0;
}
</script>
</head>

<body>
<body onload="setInterval()'changeBanner()',10000"><!-- er sat til at skifte for 60 s.-->

<img src="banner1.jpg" name="bannerImg" width="600px" height="200px">

</body>
</html>
Avatar billede sbm Nybegynder
01. oktober 2003 - 11:45 #12
Ahhh. Der var også flere småfejl i det script. I linien

banners = ['banner1.jpg',banner2.jpg',banner3.jpg',banner4.jpg',banner5.jpg'];

mangler der flere ' foran navnene.

Jeg har rettet og testet det. Nu er der også en randomizer. Eneste downside er at den altid vil starte med det samme banner. Men det kan du jo så evt. selv variere fra side til side, ved at rette linien

<img src="banner1.jpg" name="bannerImg" width="600px" height="200px">

alt efter behov.

Den roterer for hvert 3 sekunder, men det kan du jo selv rette til efter behov.
Nu ser dit dokument således ud:

<html>
<head>
<title>banner test</title>


<script type="text/javascript">
<!--
function changeBanner(){
    banners = ['banner1.jpg','banner2.jpg','banner3.jpg','banner4.jpg','banner5.jpg'];
    imgs = new Array();
    for(i=0;banners.length>i;i++){
        imgs[i] = new Image();
        imgs[i].src = banners[i];
    }
    x = Math.floor(Math.random()*banners.length);
    document.images['bannerImg'].src = imgs[x].src;
}
-->
</script>
</head>

<body onload="setInterval('changeBanner()',3000);">

<img src="banner1.jpg" id="bannerImg" width="600px" height="200px">

</body>
</html>
Avatar billede norskov Nybegynder
01. oktober 2003 - 12:15 #13
det er piv lækkert kører super

Er det muligt at tilføje et link til hver enkelt billede?
Avatar billede sbm Nybegynder
01. oktober 2003 - 12:21 #14
Det vil jeg tro. Men så stærk er jeg ikke i JavaScript.

Måske du skulle prøve at smide spørgsmålet ovre i den kategori, og så vil jeg tro de hurtigt kan rette din funktion til.
Avatar billede norskov Nybegynder
01. oktober 2003 - 12:25 #15
tak for hjælpen
Avatar billede sbm Nybegynder
01. oktober 2003 - 12:29 #16
roenving >> Det blev jo taget udgangspunkt i din javascript funktion.

>>>> http://www.eksperten.dk/spm/408194
Avatar billede norskov Nybegynder
01. oktober 2003 - 13:01 #17
nå ja, det kan man vist ikke ændre ;-)
Avatar billede roenving Novice
02. oktober 2003 - 22:28 #18
>>sbm

-- ja, men du havde jo tiden til at gøre det færdigt !-)

-- så behold du bare de points, jeg mangler ik' li'e ...

>>norskov

Man kan sagtens tilføje links til banneret, men den er lidt tricky, da man enten skal ændre en funktionstildeling (øv, det er jeg ikke så glad for !-) eller lave en funktion, som ved hvilke link der hører til hvilket billede ...

-- den sidste er jeg til gengæld god til -- når jeg har tiden ;-(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester