Avatar billede jimpp Nybegynder
26. september 2006 - 11:55 Der er 21 kommentarer og
1 løsning

Skift billed onclick og tilbage igen

Har den miniput funktionen:

function changeSrc(imgFold)
{
  document.getElementById(imgFold).src="GFX/foldind.gif"
}

Som jeg kalder her:

<img id="1" src="GFX/foldud.gif">&nbsp;<a href="java script:void(0)" onclick="java script:changeSrc(1);java script:toggleDiv('menu11');java script:toggleDiv('menu12');java script:toggleDiv('menu13');">Software Stats</a><br />

Det virker sådan set meget fint... men, jeg vil gerne have mulighed for at skifte billedet tilbage ved at klikke igen (for at lukke min menu)

Så den skal kunne gå fra foldud.gif->foldind.gif->foldud.gif - get the point?

100 point til den hurtige
Avatar billede psykochicken Nybegynder
26. september 2006 - 12:07 #1
prøv med:

function changeSrc(imgFold) {
  if(document.getElementById(imgFold).src=="GFX/foldind.gif"){
    document.getElementById(imgFold).src="GFX/foldud.gif";
  }
  else {
    document.getElementById(imgFold).src="GFX/foldind.gif";
  }
}

<img id="1" src="GFX/foldud.gif">&nbsp;<a href="java script:;" onclick="changeSrc(1);toggleDiv('menu11');toggleDiv('menu12');toggleDiv('menu13');">Software Stats</a><br />

/psc
Avatar billede roenving Novice
26. september 2006 - 12:22 #2
-- og så skal man være opmærksom på, at det ifølge rekommendationerne ikke er tilladt at bruge et id, der starter med et tal, kun a-z og _ er tilladt ...

-- og de fleste browsere overholder faktisk den regel, og vil derfor melde fejl på ovenstående !-)
Avatar billede psykochicken Nybegynder
26. september 2006 - 12:29 #3
nemmerlig - falkeøje slår til igen ;o)
Avatar billede jimpp Nybegynder
26. september 2006 - 12:43 #4
Spjøst - skifter jeg id fra 1 til a1 så fejler den :S

Det virker helller ikke selv om jeg ikke skifter navn, den skifter første gang til foldind.gif men ikke tilbage igen.
Avatar billede olebole Juniormester
26. september 2006 - 13:28 #5
<ole>

Prøv dette og se, hvad 'src' egentlig er:
    function changeSrc(imgFold) {
        alert(document.getElementById(imgFold).src)
    ... osv, osv ...

Check, om din 'src' indeholder noget bestemt - i stedet for at checke på, hvad den består af:
    if(document.getElementById(imgFold).src.indexOf("GFX/foldind.gif")!=-1){

- så vil det sikkert virke  ;o)

Fejlen, du beskriver med: "skifter jeg id fra 1 til a1 så fejler den", må ligge i en anden kodestump end den, du viser

/mvh
</bole>
Avatar billede jimpp Nybegynder
26. september 2006 - 13:39 #6
tilsyneladdende skifter den og skifter tilbage med det samme bagefter
Avatar billede jimpp Nybegynder
26. september 2006 - 13:50 #7
if(document.getElementById(imgFold).src="GFX/foldud.gif"){
    document.getElementById(imgFold).src="GFX/foldind.gif";
    alert(document.getElementById(imgFold).src);
  }
  else
  {
    document.getElementById(imgFold).src="GFX/foldud.gif";
    alert(document.getElementById(imgFold).src);
  }

Med denne her bliver dne hængende på foldind.gif
Avatar billede roenving Novice
26. september 2006 - 14:21 #8
Ja, du har overset at sammenligning er == altså dobbelte lighedstegn:

if(document.getElementById(imgFold).src == "GFX/foldud.gif"){

-- men bemærk også ole kommentar, for src vil være en fuldt kvalificeret url, altså f.eks. 'http://www.ditDomaine.dk/GFX/foldud.gif', og altså ikke det, du forsøger at finde !-)
Avatar billede jimpp Nybegynder
26. september 2006 - 14:37 #9
Er ikke heeelt med, skal jeg bruge dne komplette sti?

'dette virker heller ikke

function changeSrc(imgFold) {
  if(document.getElementById(imgFold).src == "GFX/foldud.gif")
  {
    document.getElementById(imgFold).src="GFX/foldind.gif";
    //alert(document.getElementById(imgFold).src);
  }
  else
  {
    document.getElementById(imgFold).src="GFX/foldud.gif";
    //alert(document.getElementById(imgFold).src);
  }
}

Er ved at gå helt kold her :)
Avatar billede jimpp Nybegynder
26. september 2006 - 14:40 #10
Den bliver hængende ved fold ud - btw
Avatar billede roenving Novice
26. september 2006 - 14:46 #11
Du spørger om 'GFX/foldud.gif' er det samme som 'http://www.ditDomaine.dk/GFX/foldud.gif', hvilket det selvfølgelig ikke er ...

-- hvorimod det er korrekt, at

document.getElementById(imgFold).src.indexOf("GFX/foldind.gif")!=-1

-- da det jo netop findes inde i den fulde url !-)
Avatar billede jimpp Nybegynder
26. september 2006 - 15:05 #12
Sådan her?

function changeSrc(imgFold) {
  if(document.getElementById(imgFold).src.indexOf("GFX/foldind.gif")!=-1)
  {
    document.getElementById(imgFold).src="GFX/foldind.gif";
    //alert(document.getElementById(imgFold).src);
  }
  else
  {
    document.getElementById(imgFold).src="GFX/foldud.gif";
    //alert(document.getElementById(imgFold).src);
  }
}

(Virker ikke udover det :) - Beklager men jeg har virkeligt meget lidt forstand på javascript
Avatar billede mclemens Nybegynder
26. september 2006 - 17:24 #13
Psykochicken's med rettelsen Olebole skrev:

function changeSrc(imgFold) {
  if(document.getElementById(imgFold).src.indexOf("GFX/foldind.gif")!=-1){
    document.getElementById(imgFold).src="GFX/foldud.gif";
  }
  else {
    document.getElementById(imgFold).src="GFX/foldind.gif";
  }
}
Avatar billede mclemens Nybegynder
26. september 2006 - 17:26 #14
Forkortet:
function changeSrc(imgFold) {
  e=document.getElementById(imgFold);
  e.src=e.src.indexOf("GFX/foldind.gif")!=-1?"GFX/foldud.gif":"GFX/foldind.gif";
}
Avatar billede jimpp Nybegynder
27. september 2006 - 10:46 #15
Ah, se nu virker det og jeg har lært lidt :)

post svar :)
Avatar billede mclemens Nybegynder
27. september 2006 - 10:48 #16
Psykochicken's og Olebole kast et svar hver :)
Avatar billede psykochicken Nybegynder
27. september 2006 - 11:11 #17
Giv Olebole point for lærdom - jeg er ikke den store pointhaj ;o)
Avatar billede jimpp Nybegynder
27. september 2006 - 11:51 #18
Enten er point i lav kurs, eller også er IT folk generelt meget Socialt indstillet :)
Avatar billede mclemens Nybegynder
27. september 2006 - 13:04 #19
Nah, point er rare nok... Men, jeg føler
ikke jeg bør guffe point - for at samle to
indlæg i et og så lave en lille forkortelse :)
Avatar billede jimpp Nybegynder
28. september 2006 - 12:38 #20
Olebole... et svar - last man standigt
Avatar billede jimpp Nybegynder
02. oktober 2006 - 10:09 #21
Kom så :)
Avatar billede jimpp Nybegynder
02. oktober 2006 - 17:01 #22
Ole jeg lukke, du må lige skrive hvis du vil have dine 'p'
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

IT-JOB