Avatar billede smog Nybegynder
03. oktober 2001 - 11:45 Der er 13 kommentarer og
1 løsning

Billeder bliver blandet i billedskiftfunktion

Det er første gang, jeg bruger eksperten, så bær over med mig. (Jeg har dog været medlem længe - jeg har bare ikke brugt det.)

Jeg har et script på www.sdub.dk (som jeg er med på - men bestemt ikke ansvarlig for) som laver et lille billedskift i et nyhedsfelt nederste højre hjørne.

Det ser sådan ud:

(I hovedet)

function nyhed(i)
{
images = new Array;
images[0] = \"nyhedsarkiv/deff_dk.gif\";
images[1] = \"nyhedsarkiv/deff_dk.gif\";
images[2] = \"nyhedsarkiv/science_dir.gif\";
images[3] = \"nyhedsarkiv/landolt.gif\";

document.img.src = images[i];
nyhedsurl = new Array;
nyhedsurl[0] = \"http://deff.dk\";
nyhedsurl[1] = \"http://deff.dk\";
nyhedsurl[2]= \"nyhedsarkiv/efteraar2001.htm#science_dir\";
nyhedsurl[3] = \"nyhedsarkiv/efteraar2001.htm#landolt\";
window.nyurl.href = nyhedsurl[i];
}

I kroppen laver jeg billedskift med en url 3 gange f.eks.

<a href=\"nyhedsarkiv/efteraar2001.htm#deff_dk\"onmouseover=\"nyhed(1);\">
Første version af deff.dk. Danmarks Elektroniske Forskningsbibliotek          er nu i drift</a>

Selve billedet håndteres med:

<a name=\"nyurl\" href=\"http://deff.dk\">
<img border=\"0\" name=\"img\" src=\"nyhedsarkiv/deff_dk.gif\" width=\"180\" height=\"120\"></a>

Alt i alt noget værre bøvl - der dog virker.

MEN PROBLEM:

Når siden loades første gang i browseren, så vil billedskiftet fra billede 2 til 3 betyde at de to billeder vises oven i hinanden :(

Er der nogen, der kan sige hvorfor? Det ser ræderligt ud.
Avatar billede olebole Juniormester
03. oktober 2001 - 12:09 #1
<ole>
Ja, det er noget frygteligt rod....hvad ville du gerne lave?
/mvh
</bole>
Avatar billede jakoba Nybegynder
03. oktober 2001 - 13:10 #2
du skal for guds skyld ikke kalde dit billedarray for images. det hedder prowserens indbyggede billedarray også, og det er vist de to der bliver rodet sammen etsted iløbet af scriptet.
Start med at omdøbe det array til noget andet.
Avatar billede jakoba Nybegynder
03. oktober 2001 - 13:14 #3
Jeg tror dit script skal være: (lidt gæt)

(I hovedet)

var myimages = new Array;
myimages[0] = \"nyhedsarkiv/deff_dk.gif\";
myimages[1] = \"nyhedsarkiv/deff_dk.gif\";
myimages[2] = \"nyhedsarkiv/science_dir.gif\";
myimages[3] = \"nyhedsarkiv/landolt.gif\";

var nyhedsurl = new Array;
nyhedsurl[0] = \"http://deff.dk\";
nyhedsurl[1] = \"http://deff.dk\";
nyhedsurl[2]= \"nyhedsarkiv/efteraar2001.htm#science_dir\";
nyhedsurl[3] = \"nyhedsarkiv/efteraar2001.htm#landolt\";

function nyhed(i) {
    document.images.img.src = images[i]; 
    window.nyurl.href = nyhedsurl[i];
}

mvh JakobA
Avatar billede olebole Juniormester
03. oktober 2001 - 13:15 #4
...og så hedder det \'new Array()\' - med parentes...men det ville være rart med en uddybning af planen  :)
Avatar billede jakoba Nybegynder
03. oktober 2001 - 13:15 #5
Ups. fejl i linien
    document.images.img.src = images[i];
det skal være
    document.images.img.src = myimages[i];
Avatar billede jakoba Nybegynder
03. oktober 2001 - 13:17 #6
Ups. Ups. Ja den overså jeg  () efter new Array  de to steder det bruges
var myimages = new Array();
var nyhedsurl = new Array();
Avatar billede olebole Juniormester
03. oktober 2001 - 13:23 #7
Ups. Ups. Ups....helt OK med mig, Jakob  =)
Avatar billede jakoba Nybegynder
03. oktober 2001 - 13:31 #8
må så bare håbe smog kan hitte rundt i alle de rettelser.
smog >> sig til hvis ikke :-))
Avatar billede smog Nybegynder
03. oktober 2001 - 17:01 #9
Tak for rettelserne :-) Men det hjalp ikke.

Det den laver er:

Man kører hen over billederne og samtidig skifter et billede neden for nyhedslinks. Man kan trykke på billedet og få det valgte link - eller trykke på linket. Man kan se det på http://www.sdub.dk.(Der er som den er)

Problemet er at billederne blandes når man ruller overnfra og nedefter i et nyt Explorer 5 vinduer - som om den ikke rydder bufferen.

Men åbnebart kun i Explorer 5.x ? Ikke Mozilla eller Netscape 4.x

Vi skal have noget i Php i stedet - så jeg lader den bare være.

Point? Hvordan gør man? Jeg har så mange efter min passivitet :-)
Avatar billede smog Nybegynder
03. oktober 2001 - 17:01 #10
Tak for rettelserne :-) Men det hjalp ikke.

Det den laver er:

Man kører hen over billederne og samtidig skifter et billede neden for nyhedslinks. Man kan trykke på billedet og få det valgte link - eller trykke på linket. Man kan se det på http://www.sdub.dk.(Der er som den er)

Problemet er at billederne blandes når man ruller overnfra og nedefter i et nyt Explorer 5 vinduer - som om den ikke rydder bufferen.

Men åbnebart kun i Explorer 5.x ? Ikke Mozilla eller Netscape 4.x

Vi skal have noget i Php i stedet - så jeg lader den bare være.

Point? Hvordan gør man? Jeg har så mange efter min passivitet :-)
Avatar billede olebole Juniormester
03. oktober 2001 - 17:06 #11
smog >> Hvor under http://www.sdub.dk ?
Avatar billede jakoba Nybegynder
03. oktober 2001 - 17:14 #12
det er nyurl linket du adresserer forkert.

istedetfor:
    window.nyurl.href = nyhedsurl[i];
skal der stå:
    document.links.nyurl.href = nyhedsurl[i];

mvh JakobA
Avatar billede jakoba Nybegynder
03. oktober 2001 - 17:18 #13
men det du siger:
  \"Man kører hen over billederne\"
kan jeg slet ikke forstå. jeg der ingen billeder at køre henover andet end lige et enkelt (under headeren \'brugerinformation\').
Avatar billede jakoba Nybegynder
03. oktober 2001 - 17:25 #14
PS: jeg ved godt IE ofte finder sig i:
    document.nyhedsgif.src = myimages[i];
men grug alligevel det korrekte:
    document.images.nyhedsgif.src = myimages[i];
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