Avatar billede d.kryger Praktikant
06. juni 2005 - 12:02 Der er 7 kommentarer og
1 løsning

Forskellige billeder ved mouseover og ved klik

Hej eksperter.

Kan nogen hjælpe mig med at lave et script der virker sådan:
Jeg har nogle billeder (jpg) som virker som knapper. Den skal vise et billede når man loader siden, og et andet når musen er over. Dette kan jeg godt få til at virke via dette script:

<script language="JavaScript">
<!--
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);
if (browserName == "Netscape" && browserVer >= 3) version = "n3";
else version = "n2";
if (browserName == "Microsoft Internet Explorer" && browserVer >= 4) version = "n3";

if (version == "n3") {
chr1on = new Image();
chr1on.src = "/grafik/knapper/forside_over.jpg";
chr1off = new Image();
chr1off.src = "/grafik/knapper/forside.jpg";

chr2on = new Image();
chr2on.src = "/grafik/knapper/profil_over.jpg";
chr2off = new Image();
chr2off.src = "/grafik/knapper/profil.jpg";

}

function img_act(imgName) {
if (version == "n3") {
imgOn = eval(imgName + "on.src");
document [imgName].src = imgOn;
}
}

function img_inact(imgName) {
if (version == "n3") {
imgOff = eval(imgName + "off.src");
document [imgName].src = imgOff;
}
}
// -->
</script>

Knapper: <td onMouseover="img_act('chr1')" onMouseout="img_inact('chr1')" width="178" height="30"><a href="/undersider/forside.php" target="undersider"><img border="0" src="/grafik/knapper/forside.jpg" name="chr1" width="178" height="35" galleryimg="no"></a></td>

MEN jeg vil gerne have den til at vise et tredje billede når man har klikket på den. Altså så man kan se hvilken knap man lige har klikket på. Der må selvfølgelig ikke være to knapper som viser billede nr. 3.

Kan nogen hjælpe?
Avatar billede roenving Novice
06. juni 2005 - 12:18 #1
Så skal man jo checke alle andre billeder af i en funktion, f.eks.

function img_click(imgName){
  var pics = document.images;
  for(i=0;pics.length>i;i++){
    if(pics[i].name!=imgName&&pics[i].src.match(/click\.jpg$))
      pics[i].src = pics[i].src.replace(/click\.jpg$/i,".jpg");
  }
  document[imgName].src = document[imgName].src.replace(/\.jpg$/i,"click.jpg");
}
Avatar billede d.kryger Praktikant
06. juni 2005 - 12:23 #2
Hvor skal det sættes ind?
Jeg er ikke ret stærk i JavaScript...

Kan du evt. komme med en "hel" kode?
Jeg har 5 knapper...
Avatar billede roenving Novice
06. juni 2005 - 12:42 #3
Det er et "helt" script, som bare skal sættes ind i javascript-blokken ...

Iøvrigt har jeg valgt at være ligeglad med browser-checket, da det kun for alvor berører IE3.0.0 og Netscape 1 og 2, som stort set ikke findes nogen steder !-)

-- og f.eks. kan du indsætte det lige før slutningen af blokken, altså før:

//-->
</script>
Avatar billede d.kryger Praktikant
06. juni 2005 - 13:16 #4
Hej roenving.

Jeg håber du har lidt tålmodighed med mig, jeg er ikke så godt til JavaScript endnu.

Min første knap er sådan ud:
<td onMouseover="img_act('chr1')" onMouseout="img_inact('chr1')" width="59"><a href="/undersider/loesninger.php" target="undersider"><img border="0" src="grafik/knapper/loesninger_sort.jpg" name="chr1" width="59" height="21" galleryimg="no"></a></td>

Og dette står i head:
<script language="JavaScript">
<!--
    function img_click(imgName){
      var pics = document.images;
      for(i=0;pics.length>i;i++){
        if(pics[i].name!=imgName&&pics[i].src.match(/click\.jpg$))
          pics[i].src = pics[i].src.replace(/click\.jpg$/i,".jpg");
      }
      document[imgName].src = document[imgName].src.replace(/\.jpg$/i,"click.jpg");
    }

// -->
</script>

Men jeg får en scritp-fejl når jeg loader siden og når jeg sætter musen hen over.

Når musen er over skal den vise "grafik/knapper/loesninger_graa.jpg" og når man har klikket på den skal den vise "grafik/knapper/loesninger_faneblad.jpg".

Kan du komme med et eksempel på det?
Avatar billede roenving Novice
07. juni 2005 - 02:33 #5
Har du fjernet img_act- og img_inact-funktionerne ?-)

-- og den umiddelbart eneste praktiske måde at lave sådan noget på, er at have et konsekvent navngivningsskema (f.eks. alle billeder med _sort, _graa og _faneblad !-)

-- eller at have en liste, man kan slå op i !o]
Avatar billede d.kryger Praktikant
07. juni 2005 - 08:39 #6
Hej roenving.

Jeg har fundet en anden løsning, men læg et svar og du får pointene, som tak for hjælpen.
Avatar billede roenving Novice
07. juni 2005 - 15:00 #7
Oki '-)
Avatar billede roenving Novice
08. juni 2005 - 15:55 #8
-- og tak for point ;~}
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