Avatar billede gorell Nybegynder
26. april 2005 - 08:27 Der er 58 kommentarer og
1 løsning

Hjælp til menu og mouseover

Hej allesammen

Jeg skal bruge et faneblads menu system til en webside jeg er ved at lave, jeg har brugt Jakobas forslag fra dette sprøgsmål:
http://www.eksperten.dk/spm/187987
I det javascript jeg brugte fra http://www.eksperten.dk/spm/187987 skifter den til den "nye" billede allerede når musen er over billedet, jeg vil gerne have at det bare skifter når man klikker.. nogen der kan hjælpe?
siden jeg er igang med kan ses her: http://www.gorell.dk/donation - den er dog stadig i testface derfor de underlige farver..

MVH Gorell
Avatar billede busschou Praktikant
26. april 2005 - 08:32 #1
Du har vel en onmouseover="skiftbillede"
Udskrift den med en onclick="skiftbillede" eller onmousedown="skiftbillede"
Avatar billede gorell Nybegynder
26. april 2005 - 10:52 #2
Hmm, har både en onmouseover og onclick, problemet er at hvis jeg skifter onmouseover billedet ud, så virker det ikke længere, ved ikke om du har sethvordan javaen er lavet?
Avatar billede busschou Praktikant
26. april 2005 - 17:17 #3
Hvad er det du ønsker helt præcis
Du har jo tre funktioner...onmouseover, onmouseout, onclick
Avatar billede gorell Nybegynder
27. april 2005 - 08:45 #4
Ja det er korrekt. jeg gerne vil have er at når jeg fører musen over menuen (altså et billede) så skifter den IKKE billede på menuknappen, når jeg så klikker på menuknappen så skal den skifte til et andet billede :)
Avatar billede busschou Praktikant
27. april 2005 - 08:57 #5
Kan du ikke bare fjerne dine onmouseover så ?
Avatar billede gorell Nybegynder
27. april 2005 - 21:29 #6
nej for så virker scriptet ikke længere :S ved ikke hvorfor, har nemlig prøvet :)
Avatar billede busschou Praktikant
27. april 2005 - 21:34 #7
Ok jeg kan se i scriptet at der er den er onout som giver fejl når du fjerner onover
Så prøv fjerne både onmouseover og onmouseout på dine billeder så der kun er klikket tilbage
Avatar billede gorell Nybegynder
27. april 2005 - 21:39 #8
den melder godt nok ikke fejl, men til gengæld så skrifter den slet ikke billede :) og det skulle den jo gerne :)
Avatar billede busschou Praktikant
27. april 2005 - 21:42 #9
så er jeg ikke helt med på hvad den gør
Når jeg går ind på din side og klikker på en fane så bliver den ligsom større...er det ikke det som er meningen?
Avatar billede busschou Praktikant
27. april 2005 - 21:43 #10
men måske du skulle hive fat i en af dem fra de forige spørgsmål som har lavet scriptet og er helt 100 inde i det så...
Avatar billede gorell Nybegynder
27. april 2005 - 21:44 #11
jo det er det der er meningen:) men den husker billedet fra on funktionen, derfor skal billedet som det er nu skifte ved mouseover.. men problemet er at dem der har lavet skrev det i 2002
Avatar billede busschou Praktikant
27. april 2005 - 21:46 #12
du vil helt reelt have en funktion som sætter src på et billede når du klikker på det....når du klikker på et andet så skal det første sættes tilbage og det andet skal vælges..?
Avatar billede busschou Praktikant
27. april 2005 - 21:48 #13
jeg er ik haj nok tror jeg...den skal jo huske den forrige værdi i en temp
Avatar billede gorell Nybegynder
27. april 2005 - 21:52 #14
ja det er nemlig det den skal så det er lidt tricky :)
Avatar billede busschou Praktikant
27. april 2005 - 21:56 #15
Hvis du til at starte med automatisk har valgt den første så dens src er ex "2.jpg"
Så kunne bare løbe alle <img> igennem
For hvert <img> tjekke om src var "2.jpg" og hvis den var det så sætte den til "1.jpg" og dernæst rette det aktuelle til "2.jpg" ...
hvis du kan følge mig?
Avatar billede busschou Praktikant
27. april 2005 - 22:00 #16
<script type="text/javascript">
function nyOnKlik(id){
  for(i=0; i<document.images.length; i++){
  document.images[i].src = "1.jpg";
  }
  document.images[id].src = "2.jpg";
}
</script>
Avatar billede busschou Praktikant
27. april 2005 - 22:02 #17
eneste minus er hvis du har andre billeder så retter den dem også så det bør nok rettes til så det passer med et specielt id selvfølgelig andet end et tal
<script type="text/javascript">
function nyOnKlik(id){
  for(i=0; i<document.images.length; i++){
  document.images["img"+i].src = "1.jpg";
  }
  document.images[id].src = "2.jpg";
}
</script>
Avatar billede gorell Nybegynder
27. april 2005 - 22:14 #18
uha, virker lidt omstændig :) er ikke så forfærdelig håtf i js
Avatar billede busschou Praktikant
28. april 2005 - 05:44 #19
Ok :o)...
Hvis du i din fil "menu.java" sletter alt under linjen
--
// mouseover hvor klikket billed beholder on-billedet
--
og så i stedet indsætter
--
function onKlik(id){
  for(i=0; i<5; i++){
    document.images["img"+i].src = "1-h.png";
  }
  document.images[id].src = "1-a.png";
}
--
På din side retter du så dine linjer med
---
<td><a class="tab" id="tab1" href="java script:visPanel(1)" onmouseover="onOver('img0');" onmouseout="onOut('img0');" onclick="onKlik('img0');"><img id="img0" src='1-h.png' width='98' height='36' alt="img0" /></a></td>
---
til
---
<td><a class="tab" id="tab1" href="java script:visPanel(1)" onclick="onKlik('img0');"><img id="img0" src='1-h.png' width='98' height='36' alt="img0" /></a></td>
Avatar billede busschou Praktikant
28. april 2005 - 05:47 #20
Husk evt at tage en sikkerhedkopi at din manu.java :o)
Det funktionen gør er at den tager alle dine billeder som hedder "img0" op til "img4" og sætter dem til 1-h.png, derefter sætter den det du klikkede på til 1-a.png
Så det du burde opnå er at hver gang du klikker på fane så lukker en tidligere åbnet fane sig og den du klikker på åbner sig :o)
Avatar billede gorell Nybegynder
28. april 2005 - 09:45 #21
Hej :) du er bare guld :) det er for sejt :) mange tak skal du have, og lav så lgie et svar så du kan få dine point :)
Avatar billede gorell Nybegynder
28. april 2005 - 09:58 #22
øhh hov :) nu så jeg jo lige noget, sådan som det er nu, er det jo den samme knap der vidst over hele linien, altså jeg kan jo ikke have noget stående i knapperne uden at det går galt :) skulle jo gerne være sådan at knapperne skal virke som navigation og skal jo derfor gerne være billeder :)
Avatar billede busschou Praktikant
28. april 2005 - 10:09 #23
Jo -- hvis blot du vil have tekst ind?
Så kan du jo benytte <span> tagget til at sætte tekst ind over billedet
Med mindre du ønsker at benytte specielle billeder?
Avatar billede gorell Nybegynder
28. april 2005 - 10:16 #24
hmm altså hvis det er svært at lave andre billedr, så vil jeg prøve at bruge span :) men det andet ville være sjovere :)
Avatar billede gorell Nybegynder
28. april 2005 - 10:23 #25
hmm, synes ikke at kunne få span til at virke :) eller også er jeg bare ikke morgenfrisk endnu :)
Avatar billede busschou Praktikant
28. april 2005 - 11:57 #26
En løsning kunne være følgende
Hvis du har fem billeder når der ikke er klikket
og fem billeder når der er klikket
--
function onKlik(id){
  var klikketArr = new Array("stor1.png","stor2.png","stor3.png","stor4.png","stor5.png");
  var ejklikketArr = new Array("lille1.png","lille2.png","lille3.png","lille4.png","lille5.png")
  for(i=0; i<5; i++){
    document.images["img"+i].src = ejklikketArr[i];
  }
  document.images["img"+id].src = klikketArr[id];
}
--
Men så skal funktionskaldet rettes til blot et tal altså:
--
<td><a class="tab" id="tab1" href="java script:visPanel(1)" onclick="onKlik('0');"><img id="img0" src='1-h.png' width='98' height='36' alt="img0" /></a></td>
Avatar billede busschou Praktikant
28. april 2005 - 11:58 #27
ps unskylder svartiden..men har jo (prøver på) leve ved siden af også ;o) hehe
Avatar billede gorell Nybegynder
28. april 2005 - 12:02 #28
hehe bare helt iorden :) takker skam meget for din hjælp :) den er rigtig stor :)
Avatar billede gorell Nybegynder
28. april 2005 - 12:06 #29
ja så skal de andre links bare stige en tallet som bliver kaldet :)
Avatar billede busschou Praktikant
28. april 2005 - 12:10 #30
jeg forstår ikke helt dit dansk i sidste indlæg ;o)
Men ja tror jeg nok hehe
Det første billede skal have id = "img0" og kalde funktinen onKlik('0')...det næste med 1 og så frem deles
I arraysne skifter du så stor1.png ud med det billede som skal vises når der klikkes på img0 og lille1.png ud med det billede som skal vises hvis der ikke klikkes på img0... og så fremdeles
Burde vist virke
Avatar billede gorell Nybegynder
28. april 2005 - 12:18 #31
jeps det virker :) så hvis du ville lave et svar så kunne jeg give dig nogle point :) forresten hvilken browser så det den i?
Avatar billede busschou Praktikant
28. april 2005 - 12:23 #32
Jeg har kun tjekket i IE for jeg har ikke FF lige her... Men jeg vil mene javascript koden virker i alle browsere (som understøtter den)
Godt det virker :o)
Avatar billede gorell Nybegynder
28. april 2005 - 12:29 #33
hmm altså :) meget mystisk :) for det første så vil den ikke lade IE med sp2 køre scriptet da det er med aktivt indhold, så det skal man først acceptere :S dernæst så virker det fint i opera og ff men ikke i IE. den viser ikke det store billede i IE.

http://www.gorell.dk/donation
Avatar billede busschou Praktikant
28. april 2005 - 12:33 #34
det virker på den første og den eneste forskel jeg kan se er " frem for '
"rigtig" html speciferer at man skal bruge "
Så prøv rette så alt kommer med "
altså
<td><a class="tab" id="tab1" href="java script:visPanel(1)" onclick="onKlik('0');"><img id="img0" src="1-h.png" width="98" height="36" alt="img0" /></a></td>
Avatar billede busschou Praktikant
28. april 2005 - 12:34 #35
Det med aktivt indhold..det er vist helt afhængig af dine egne sikkerhedsinstillinger i IE.. hos mig er der ingen ballade.. så prøv evt sætte sikkerheden ned
Avatar billede gorell Nybegynder
28. april 2005 - 12:38 #36
okay :) har jeg prøvet, virker stadig ikke her, virker det hos dig nu? virker meget underligt
Avatar billede busschou Praktikant
28. april 2005 - 12:44 #37
ok det er spooky.. virker som om IE ønsker at de er "loadet" .. der bliver tomt ja..der står at billedet ikke er tilgængeligt ja
Men går man ind på
http://gorell.dk/donation/stor4.png
og så trykker tilbage så virker nummer fire..og så fremdeles
hmmmm
Avatar billede gorell Nybegynder
28. april 2005 - 12:48 #38
Kan det virke hvis man laver en form for preload?
Avatar billede busschou Praktikant
28. april 2005 - 12:51 #39
jeg tænker mere på om du burde sætte en span rundt om img..
sådan her
<td><a class="tab" id="tab1" href="java script:visPanel(1)" onclick="onKlik('0');"><span style="display:inline"><img id="img0" src="lille1.png" width="98" height="36" alt="img0" /></span><span style="display:none"><img id="img0" src="stor1.png" width="98" height="36" alt="img0" /></span></a></td>
--
Så er de der..så skal de bare løbes igennem på en anden måde... jeg tror foresten måske det også kunne løse dit andet problem fra andet spørgsmål med mellemrum
Avatar billede busschou Praktikant
28. april 2005 - 12:52 #40
prøv evt uden span først
<td><a class="tab" id="tab1" href="java script:visPanel(1)" onclick="onKlik('0');"><img style="display:inline" id="img0" src="lille1.png" width="98" height="36" alt="img0" /><img style="display:none" id="img0" src="stor1.png" width="98" height="36" alt="img0" /></a></td>
Avatar billede busschou Praktikant
28. april 2005 - 12:55 #41
tænke tænke
Avatar billede gorell Nybegynder
28. april 2005 - 13:00 #42
2 sek tester lige nummer 2 :) 1'eren virkede ikke :)
Avatar billede busschou Praktikant
28. april 2005 - 13:01 #43
det virker ikke før javascript funktionen er lavet om . to sek :o)
Avatar billede gorell Nybegynder
28. april 2005 - 13:02 #44
hmm altså :) det virker stadig under FF men der sker intet under IE :)
Avatar billede gorell Nybegynder
28. april 2005 - 13:02 #45
ahh okay :)
Avatar billede busschou Praktikant
28. april 2005 - 13:04 #46
ok har en ide - prøv rette alle til som den her
---
<td><a class="tab" id="tab1" href="java script:visPanel(1)" onclick="onKlik('0');"><img style="display:inline" id="img0a" src="lille1.png" width="98" height="36" alt="img0" /><img style="display:none" id="img0b" src="stor1.png" width="98" height="36" alt="img0" /></a></td>
--
og funktionen til
--
function onKlik(id){
  for(i=0; i<5; i++){
    document.images["img"+i+"a"].style.display = inline;
    document.images["img"+i+"b"].style.display = none;
  }
  document.images["img"+id+a].style.display = none;
  document.images["img"+id+b].style.display = inline;
}
Avatar billede busschou Praktikant
28. april 2005 - 13:05 #47
desværre sidder jeg ikke ved en pc hvor jeg selv kan teste... :o(..
så håber det virker :o)
Avatar billede gorell Nybegynder
28. april 2005 - 13:10 #48
hmm kommer med en fejl :) har uploadet det så du kan se det :)
Avatar billede busschou Praktikant
28. april 2005 - 13:15 #49
du skal huske også rette funktionen og uploade den ;o)
Avatar billede gorell Nybegynder
28. april 2005 - 13:18 #50
er uploadet :)
Avatar billede busschou Praktikant
28. april 2005 - 13:21 #51
prøv rette funktion til
function onKlik(id){
  for(i=0; i<5; i++){
    document.images["img"+i+"a"].style.display = "inline";
    document.images["img"+i+"b"].style.display = "none";
  }
  document.images["img"+id+a].style.display = "none";
  document.images["img"+id+b].style.display = "inline";
}
Avatar billede gorell Nybegynder
28. april 2005 - 13:51 #52
Undskyld det sene svar :) blev lige smidt af nettet :) har prøvet at skifte det ud, virker stadig ikke desværre :)
Avatar billede busschou Praktikant
28. april 2005 - 14:04 #53
ok så tager vi den sådan her
function onKlik(id){
  for(i=0; i<5; i++){
    document.getElementById("img"+i+"a").style.display = "inline";
    document.getElementById("img"+i+"b").style.display = "none";
  }
  document.getElementById("img"+id+a).style.display = "none";
  document.getElementById("img"+id+b).style.display = "inline";
}
Avatar billede gorell Nybegynder
28. april 2005 - 14:10 #54
hmm, virker stadig ikke :) skal jeg ændre noget ved linksne? har uploadet det hvis du skal ha et kig :)
Avatar billede busschou Praktikant
28. april 2005 - 14:13 #55
ahh idiot henrik...tsk tsk
Sorry... der mangler jo " omkring a og b
function onKlik(id){
  for(i=0; i<5; i++){
    document.getElementById("img"+i+"a").style.display = "inline";
    document.getElementById("img"+i+"b").style.display = "none";
  }
  document.getElementById("img"+id+"a").style.display = "none";
  document.getElementById("img"+id+"b").style.display = "inline";
}
Avatar billede gorell Nybegynder
28. april 2005 - 14:17 #56
Sådan!! så virker det :) både i IE og FF og Opera :)
Hmm du snakkede noget om at jeg kunne omgå det mellemrum mellem menuen og tabllen ved at bruge span?
Avatar billede busschou Praktikant
28. april 2005 - 14:21 #57
jeg har lagt et foreslag i dit andet spørgsmål :o) .. skal vi ikke tage den derfra ?
Avatar billede gorell Nybegynder
28. april 2005 - 14:26 #58
hehe jo :)
Avatar billede busschou Praktikant
28. april 2005 - 14:29 #59
Men godt det endelig virker... :o).. og godt du var tålmodig..engang imellem driller det jo.. tror jeg fik lagt et svar
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