Avatar billede guster Nybegynder
26. marts 2002 - 13:23 Der er 5 kommentarer og
1 løsning

Samme billede på flere knapper

Jeg har 3 forskellige knapper som er slet, rediger og læs. Disse 3 knapper går igen 10 gange på min side (een gang for hver post i databasen).

Jeg bruger dette script til "rollover-funktion":

---------------------------------
<script language="JavaScript">
<!--
if (document.images) {

  img1_on = new Image();
  img1_on.src = "laes_over.gif";
  img1_off = new Image();
  img1_off.src = "laes.gif";

  img2_on = new Image();
  img2_on.src = "rediger_over.gif";
  img2_off = new Image();
  img2_off.src = "rediger.gif";

  img3_on = new Image();
  img3_on.src = "slet_over.gif";
  img3_off = new Image();
  img3_off.src = "slet.gif";
 
}

function ms( imagename, action ) {
  if ( document.images ) {
eval('document.images.' +imagename + '.src=' + imagename + '_' + action +'.src');
  }
}
//-->
</script>
-----------------------------------------------

Og denne kode på selve linket (med hhv. 'img1' til laes, 'img2' til rediger og 'img3' til slet):

-----------------------------------------------
<a href="blabla.htm" target="_self" onMouseOver="ms('img1', 'on')" onMouseOut="ms('img1', 'off')" onFocus="this.blur()"><img name="img1" border="0" src="laes.gif" width="40" height="18"></a>
--------------------------------------------

Koden virker ikke fordi jeg har 10 knapper som hedder img1 og 10 knapper som hedder img2 og 10 med img3. Koden kan åbenbart ikke finde ud af, f.eks. hvilken af de 10 læsknapper jeg markerer.

MIT SPØRGSMÅL:
Hvordan justerer jeg min kode, så de 10 "laes"-knapper individuelt kan hente det samme billede "on rollover" (- og tilsvarende med "rediger" og "slet")?

(((Jeg kunne ændre så alle knapper havde fortløbende img-numre, fra img1 til img30 - men det er både meget besværligt og ikke ideelt!)))
Avatar billede ras2000 Nybegynder
26. marts 2002 - 13:27 #1
Du kalder dem fra selve tagget:
<img src="img1" onmouseover="skift1(this)" onmouseout="skift2(this)" onmousedown="skift3(this)" onmouseup="skift4(this)">
Så laver du 4 functioner der skifter billederne frem og tilbage som du vil.
Avatar billede guster Nybegynder
26. marts 2002 - 15:48 #2
Hej ras2000>>> Det lyder meget sandsynligt.. (o: Men hvordan laver de funktioner? Og hvad betyder "skift1(this)"?
(o: Jeg er ikke så god til javascript!
Avatar billede guster Nybegynder
26. marts 2002 - 15:49 #3
kan man bruge mit nuværende script til at lave skift-funktion med?
Avatar billede ras2000 Nybegynder
26. marts 2002 - 16:00 #4
Jeg er ikke helt sikker på at jeg har forstået din kode korrekt, men jeg går udfra at du har to billeder pr knap, en når musen er over, og en når den ikke er. Dit script tag kommer til at se således ud
<script type="text/javascript">
function skiftlaes1(el){
el.src = "laes_over.gif";
}
function skiftlaes2(el){
el.src = "laes.gif";
}
function skiftrediger1(el){
el.src = "rediger_over.gif";
}
function skiftrediger2(el){
el.src = "rediger.gif";
}
function skiftslet1(el){
el.src = "slet_over.gif";
}
function skiftslet2(el){
el.src = "slet.gif";
}
</script>
...
og nede i body'en skriver du dine image tags sådan her:
<img src="rediger.gif" onmouseover="skiftrediger1(this)" onmouseout="skiftrediger2(this)">
og tilsvarende for slet og laes. Du kan også bruge inline scripting og undvære din kode section:
<img src="laes.gif" onmouseover="this.src='laes_over.gif'" onmouseout="this.src='laes.gif'">
Det er en smagssag. Jeg kan anbefale den første det gør det nemmere hvis du vil ændre noget senere.
når du kalder en function via onclick="functionsnavn()" eller onmouseover="functionsnavn()" eller lign. kan du sende noget information videre til functionen, inde i parenteserne. I dette tilfælde bliver this sendt videre, this er en henvisning til det tag der kalder functionen.
Avatar billede ras2000 Nybegynder
26. marts 2002 - 16:06 #5
Hov, svar
Avatar billede guster Nybegynder
26. marts 2002 - 20:12 #6
Du er konge! (o;
Enkel og god løsning - og en forståelig beskrivelse. (o:
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