Avatar billede jkmunk Nybegynder
24. april 2008 - 08:12 Der er 6 kommentarer og
1 løsning

Knapper/buttons (.jpg) skal skifte ved til- og fravalg

Jeg har et panel med en række knapper (døbt knap_ude.jpg), og jeg ønsker at de skal skifte til anden knap (knap_inde.jpg) ved klik - PROBLEMET (udfordringen) ligger i, at jeg vil have, at hvis man vælger en anden knap, dvs. et andet punkt i menuen, skal den første knap hoppe ud igen. Der skal med andre ord altid kun kunne være valgt én knap, dvs. kun være én knap_inde.jpg i panelet.

Jeg har forkortet og omskrevet mine koder til følgende eksempel:

Vare1 <a target="hovedramme" href="varebeskrivelse1.htm">
<img src="images/knap_ude.jpg" /a>

Vare2 <a target="hovedramme" href="varebeskrivelse2.htm">
<img src="images/knap_ude.jpg" /a>

Vare3 <a target="hovedramme" href="varebeskrivelse3.htm">
<img src="images/knap_ude.jpg" /a>

IGEN: jeg ønsker at hvis man går ind på siden og vælger at læse om Vare1, så klikker man på knappen ved siden af punktet (knap_ude.jpg), og den ændres til knap_inde.jpg. Efterfølgende vælger man at læse om Vare2 og klikker på knappen ud for dette punkt, og der sker det samme - MEN KNAPPEN VED VARE1 ÆNDRES TILBAGE TIL KNAP_UDE.JPG.

Håber, det er forståeligt. Jeg anvender FrontPage2003 og forventer, at der er tale om programkode, der skal indskrives. Forklar det venligst omstændeligt - jeg er en novice...
Avatar billede Slettet bruger
28. april 2008 - 20:29 #1
Hey jeg plejer bare at gøre det at når man trykker på knappen så hopper den ind i et helt nyt html dokument hvor jeg så har fjernet markeringen fra den gamle knap og sat den på den nye håber du forstår hvad jeg skriver eller så bare sig til så skal jeg nok uddybe det
Avatar billede w13 Novice
28. april 2008 - 20:40 #2
Det kan f.eks. gøres sådan her:

<div id="beholder">
  Vare1 <a target="hovedramme" href="varebeskrivelse1.htm" onclick="ClickKnap(this.getElementsByTagName('img')[0])">
  <img src="images/knap_ude.jpg"></a>

  Vare2 <a target="hovedramme" href="varebeskrivelse2.htm" onclick="ClickKnap(this.getElementsByTagName('img')[0])">
  <img src="images/knap_ude.jpg"></a>

  Vare3 <a target="hovedramme" href="varebeskrivelse3.htm" onclick="ClickKnap(this.getElementsByTagName('img')[0])">
  <img src="images/knap_ude.jpg"></a>
</div>

<script type="text/javascript">
function ClickKnap(o){
  var aBtn=document.getElementById("beholder");
  for(var i=0;i<aBtn.length;i++){
    aBtn[i].setAttribute("src","images/knap_ude.jpg");
  }
  o.setAttribute("src","images/knap_inde.jpg");
  aBtn=null;
}
</script>
Avatar billede jkmunk Nybegynder
28. april 2008 - 22:57 #3
Tak for svarene til jer begge. Jeg ønsker at arbejde i frames, da det giver nogle fordele, derfor kan jeg ikke bruge dit forslag, muzzy69.

w13>> Du er sikkert inde på noget helt rigtigt. Det virker ikke endnu, men det er nok, fordi jeg ikke er godt nok inde i dette "fremmedsprogs" syntaks. Jeg har kopieret den reelle kode ind herunder - dog kun for 2 af 10 knapper (Inger + Jørgen). Jeg håber, du med dit falkeblik kan se, hvor fejlen ligger. Jeg gik ud fra, at linjen med on.click skulle kopieres ind ved begge knapper, mens script-delen bare skal stå nederst. Det hele står inden for body-sektionen.
På forhånd mange tak.

<div align="left" id="beholder">

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="100%" align="left">
 
    <tr>
    <td width="74" align="left" height="10%"><b>
    <font face="Verdana" color="#FFFFFF" style="font-size: 10pt">
    Inger </font></b></td>
    <td width="33" align="center" height="10%">
    <a target="hovedramme" href="i_sider/startside_i.htm"
    onclick="ClickKnap(this.getElementsByTagName('img')[0])">
    <img border="0" src="images/groen_knap_ude.jpg" width="28" height="28"></a></td>
  </tr>
 
  <tr>
    <td width="74" align="left"><b>
    <font face="Verdana" color="#FFFFFF" style="font-size: 10pt">
    Jørgen</font></b></td>
    <td width="33" align="center" height="9%">
    <a target="hovedramme" href="j_sider/startside_j.htm"
    onclick="ClickKnap(this.getElementsByTagName('img')[0])">
    <img border="0" src="images/groen_knap_ude.jpg" width="28" height="28"></a></td>
    </tr>

</table>

</div>

<script type="text/javascript">
function ClickKnap(o){
  var aBtn=document.getElementById("beholder");
  for(var i=0;i<aBtn.length;i++){
    aBtn[i].setAttribute("src","images/groen_knap_ude.jpg");
  }
  o.setAttribute("src","images/groen_knap_inde.jpg");
  aBtn=null;
}
  </script>
Avatar billede w13 Novice
29. april 2008 - 08:55 #4
Oki. Jeg ser lige på det om en times tid, tror jeg.
Avatar billede w13 Novice
29. april 2008 - 10:20 #5
Koden virker da helt fint for mig, bortset fra at knapper ikke "nulstilles", når man klikker på en anden?

Ret:
  var aBtn=document.getElementById("beholder");
til:
  var aBtn=document.getElementById("beholder").getElementsByTagName("img");
Avatar billede jkmunk Nybegynder
30. april 2008 - 19:02 #6
w13>> Så lykkedes det vist. Nu hopper knapperne tilbage som ønsket. Mange tak for hjælpen. Send et svar, så du kan få dine points.
Avatar billede w13 Novice
30. april 2008 - 19:05 #7
:)
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
Kurser inden for grundlæggende programmering

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