Avatar billede jumlie Nybegynder
29. august 2002 - 11:43 Der er 27 kommentarer og
1 løsning

Hvor misser kodningen?

Nedenstående virker ikke. Hvad er der galt med koden?
Det virker fint når jeg kun bruger f.eks. document.mouse , men idet jeg også tilføjer document.mouse1 ja så virker det ikke.


<script>
function skiftbillede( img_src ) {
document.mouse.src = img_src;
}
function skiftbillede ( img_src ) {
document.mouse1.src = img_src;
}
</script>

iframe.{position: absolute; top: 160px; left: 225px;}

<div id="menu">
<a href="../website/ccindhold.html" target="minIframe">
<img src="../billeder/knap_cafecastro.gif" border="0"
name="mouse"
onmouseover="skiftbillede( '../billeder/knap_cafecastro_ahover.gif'
);"
onmouseout="skiftbillede( '../billeder/knap_cafecastro.gif' );" ></a><br>
<a href="../website/aabindhold.html" target="minIframe">
<img src="../billeder/knap_aabningstider.gif" border="0"
name="mouse1"
onmouseover="skiftbillede( '../billeder/knap_aabningstider_ahover.gif'
);"
onmouseout="skiftbillede ('../billeder/knap_aabningstider.gif'></a>
);"
</div>
<iframe src="../website/ccindhold.html" name="minIframe" frameborder="0" width="570" height="280"></iframe>
<iframe src="../website/aabindhold.html" name="minIframe" frameborder="0" width="570" height="280"></iframe>
Avatar billede solle Nybegynder
29. august 2002 - 12:59 #1
hey!

lavede lidt om på din kode, så den virker!

din funktion skal bare kaldes med det "object" som musen er over, derfra ved den at det er den's billede der skal ændres!

skiftbillede(this, '../billeder/knap_cafecastro.gif' );">
skiftbillede(this, '../billeder/svenderiksferiehus.gif' );">
skiftbillede(this, '../billeder/sommerhus.gif' );">


//Solle

<html>
<head>
<title></title>
<script>
function skiftbillede(MyObj, img_src ) {
    MyObj.src = img_src;
}
</script>
<style>
    iframe.{position: absolute; top: 160px; left: 225px;}
</style>
</head>
<body>
<div id="menu">
<a href="../website/ccindhold.html" target="minIframe">
<img src="../billeder/knap_cafecastro.gif" border="0"
    onmouseover="skiftbillede(this, '../billeder/knap_cafecastro_ahover.gif');"
    onmouseout="skiftbillede(this, '../billeder/knap_cafecastro.gif' );">
</a><br>
<a href="../website/aabindhold.html" target="minIframe">
<img src="../billeder/knap_aabningstider.gif" border="0"
    onmouseover="skiftbillede(this, '../billeder/knap_aabningstider_ahover.gif')"
    onmouseout="skiftbillede(this, '../billeder/knap_aabningstider.gif')">
</a>
</div>
<iframe src="../website/ccindhold.html" name="minIframe" frameborder="0" width="570" height="280"></iframe>
<iframe src="../website/aabindhold.html" name="minIframe" frameborder="0" width="570" height="280"></iframe>
</body>
</html>
Avatar billede jumlie Nybegynder
29. august 2002 - 14:12 #2
Solle-> Det virker ikke. Se selv her:

http://www.friserverplads.dk/CafeCastro/website/Index.html
Avatar billede Slettet bruger
29. august 2002 - 14:34 #3
Du har ikke opdateret scriptet.
Avatar billede nikolajdu Nybegynder
29. august 2002 - 14:50 #4
hvorfor har du 2 iframes der hedder det samme...?? "minIframe" - De skal have forskelligt navn...

Anyway, når du har så langt et funktionsnavn, så drop den og brug bare:

<a href="../website/ccindhold.html" target="minIframe">
<img src="../billeder/knap_aabningstider.gif" border="0"
name="mouse1" onmouseover="this.src='../billeder/knap_aabningstider_ahover.gif'" onmouseout="this.src='../billeder/knap_aabningstider.gif'"></a>

/Nikolaj
Avatar billede jumlie Nybegynder
30. august 2002 - 17:25 #5
nikolajdu->jeg har nu ændret fejlen med minIframe.

Phonixv->du ved at jeg ikke har forstand på javascript, så hvis jeg skal få noget ud af dit svar bliver du nødt til at uddybe det.
Avatar billede jumlie Nybegynder
30. august 2002 - 17:26 #6
Evt. nogen andre venlige sjæle der kan hjælpe?
Avatar billede solle Nybegynder
31. august 2002 - 10:34 #7
Kan ik helt forstå hvorfor det ikke virker!
Bruger selv en lignende kode på mine sider - uden problemer!
Avatar billede Slettet bruger
31. august 2002 - 12:51 #8
Det, jeg mente, var, at du ikke har sat solle's script ind på din side. Du kører stadig med det gamle script.
Avatar billede jumlie Nybegynder
31. august 2002 - 18:21 #9
Solle-> Nu er siden blevet opdateret og det virker altså ikke.
Kan det skyldes at syntaksen du bruger ikke er helt korrekt?
Der er f.eks. en fejl her ville jeg mene.

(her bruger du kolon til sidst)
onmouseover="skiftbillede(this, '../billeder/knap_cafecastro_ahover.gif');"

(her bruger du ikke kolon til sidst)
onmouseover="skiftbillede(this, '../billeder/knap_aabningstider_ahover.gif')"

Gider du ikke lige at dobbelt tjekke koden du har angivet.
Prøv evt. også nu at gå ind på min webside. Den har fået ny adresse
og er blevet ændret til :http://www.friserverplads.dk/castro/website/index.html
Avatar billede Slettet bruger
01. september 2002 - 14:21 #10
Det virker fint nok hos mig i IE5 og NS7, selvom resten af siden ser rimeligt skummel ud i sidstnævnte browser.
Du bør dog preloade billederne, så de kan vises hurtigt. Det gøres ved at indsætte dette øverst på siden:

<script>
bill = new Array("billede1.gif", "billede2.gif", "billede3.gif"); //Billederne, der skal preloades. Listen kan sagtens udvides

bp = new Array();

for (i = 0; i < bill.length; i++) {
bp[i] = new Image();
bp[i].src = bill[i];
}
</script>

Man behøver ikke bruge semikoloner i JavaScript. Det er altså ikke ligesom fx PHP. Men de fleste bruger det, da det gør koden mere overskuelig og nogle gange kan hjælpe i fejlfindingen. Det er endda tilladt at bruge ; nogle gange og nogle gange ikke i samme kode.
Avatar billede jumlie Nybegynder
01. september 2002 - 16:05 #11
Phoenixv-> Kan du se selve indholdet i iframen? Jeg kan ikke se det og jeg bruger også IE 5.
m.h.t at preloade billederne, så har jeg et spg. til den øverste kode.
Er det korrekt forstået at i parantesen skal navnet på billedet/billederne stå og derefter stien/stierne dertil?
Avatar billede solle Nybegynder
01. september 2002 - 19:55 #12
fatter stadig minus ... bruger IE 5 også, og det virker fiiint???

semikolon'et er som phoenixv skriver unødvendigt, gør det bare overskueligt...
Avatar billede jumlie Nybegynder
01. september 2002 - 20:01 #13
Solle-> Kan du se indholdet i iframen?
Avatar billede jumlie Nybegynder
01. september 2002 - 20:17 #14
Solle->Har tjekket i Netscape 6.2 og der kan jeg godt se indholdet,
men iframen er placeret helt forkert (midt på siden) .
I IE 5 kan jeg ikke se indholdet, men der kan jeg se at iframen er
placeret korrekt, altså nederst i højre hjørne. Selve iframen i IE 5 er hvid og der står at "siden ikke kan vises".
Avatar billede jumlie Nybegynder
01. september 2002 - 20:39 #15
Har nu også tjekket i Opera 6.1 og den opfører sig fuldstændig
ligesom Netscape. Jeg giver med glæde flere point til den der løser
problemet. Skal vi sige 40 point ekstra.
Avatar billede Slettet bruger
01. september 2002 - 20:50 #16
Det ser ud til, at du stadig har rod med mappe-strukturen på din side. Du refererer til en side, der hedder "aabindhold.html" i mappen "website", men den findes altså ikke!

Og mht. preload-scriptet, så skal du kun skrive stierne (i gåseøjne) til billederne i parentesen, adskilt af et komma.
Avatar billede jumlie Nybegynder
01. september 2002 - 21:10 #17
Phoenixv-> I mappen website ligger både "index", "ccindhold" og
"aabindhold". Jeg har lige været inde at tjekke på friserverplads.dk.
Kan du i øvrigt ikke kun se index siden?
Avatar billede Slettet bruger
01. september 2002 - 21:13 #18
Jeg har fundet fejlen. Du skriver "aabindhold.html", men i virkeligheden hedder netop denne fil kun .htm til efternavn. Så det er altså:
ccindhold.html
men
aabindhold.htm
Avatar billede Slettet bruger
01. september 2002 - 21:14 #19
Hvis jeg var dig, omdøbte jeg bare "aabindhold.htm" til "aabindhold.html". Det giver ingen forandring på selve siden, og så passer det med de andre sider!
Avatar billede Slettet bruger
01. september 2002 - 21:22 #20
P.S. Hvorfor har du to iframes? Du bør kun have én:

<iframe src="ccindhold.html" name="minIframe" frameborder="0" width="570" height="280"></iframe>

Dine knapper skal så se sådan her ud:

<div id="menu">
<a href="ccindhold.html" target="minIframe">
<img src="../billeder/knap_cafecastro.gif" border="0"
onmouseover="skiftbillede(this, '../billeder/knap_cafecastro_ahover.gif')"
onmouseout="skiftbillede(this, '../billeder/knap_cafecastro.gif' )">
</a><br>
<a href="aabindhold.html" target="minIframe">
<img src="../billeder/knap_aabningstider.gif" border="0"
onmouseover="skiftbillede(this, '../billeder/knap_aabningstider_ahover.gif')"
onmouseout="skiftbillede(this, '../billeder/knap_aabningstider.gif')">
</a>
</div>
Avatar billede jumlie Nybegynder
02. september 2002 - 15:07 #21
Phonenix-> Yes det er der den er galt. Godt set. Jeg vil blive glad hvis du fortsat vil hjælpe mig. Du får 20 point oveni (i alt 100) hvis du kan svare på nedenstående:

1) Hvad er forskellen på htm og html og hvor kan du se hvad filen hedder til efternavn?

2) Hvorfor er iframen helt forkert placeret i andre browsere end IE 5

3) Har sat preloade funktionen ind. Ser det rigtig ud? (har opdateret)

4) Har sat Onclick funktion ind. Virker ikke???
Avatar billede Slettet bruger
02. september 2002 - 15:16 #22
1) Der er ingen forskel. Jeg bruger altid .html, da man jo skriver i HTML og ikke i HTM. Men det er tradition, at filendelser er på tre bogstaver, og derfor bruger mange .htm, hvilket er helt tilladt! Og jeg gættede mig bare frem til, at du havde lavet den fejl, da jeg selv havde lavet den lige inden! :)

2) Kigger jeg nærmere på om et øjeblik.

3) Nej, du har ikke sat stien ordentligt ind. Det bør se således ud:

bill = new Array("../billeder/knap_cafecastro_ahover.gif", "../billeder/knap_aabningstider_ahover.gif");

Idéen med at preloade er, at browseren henter de billeder, der ikke rent faktisk er på siden, så den hurtigt kan hente dem frem igen, når der er brug for dem. Det bruges ofte ved rollovers, specielt ved lidt større billeder, der tager længere tid at loade.

4) Du har simpelthen skrevet stien forkert:

onclick="skiftbillede(this, '../billeder/knap_aabningstider_ahover.gif');"

Du manglede et r. Men for mig at se er den funktion totalt ligegyldig, da man jo har musen inde over knappen, når man trykker, og man derfor allerede ser hover-billedet. Men hvis du vil bruge et andet billede, fx et med rød skrift, så kommer det til sin ret!
Avatar billede nikolajdu Nybegynder
02. september 2002 - 15:21 #23
1. tilbage i de tidlige DOS-dage måtte filnavne max være 8 tegn og endelsen på max 3 - Der i ligge forskellen såmænd :)
Avatar billede Slettet bruger
02. september 2002 - 15:23 #24
2) Du bruger absolut posiotionering, hvilket ikke er særligt smart. Din side ville være perfekt til tables. I dit tilfælde tror jeg dog, at fejlen skyldes et punktum for meget i stylesheet'et:

iframe {position: absolute; top: 160px; left: 225px;}

Sådan skulle der stå! :)
Avatar billede jumlie Nybegynder
02. september 2002 - 16:51 #25
Phonenix-> Du har ret- onclick skal jeg ikke bruge. Jeg vil gerne
have skriften på knappen til at forblive blå (ligesom ahover), så man kan se at man tidligere har klikket på denne menu. Hvad hedder denne
funktion?
Hvorfor er tables perfekt? Har læst flere steder at tables er på vej ud.
Jeg ønskede sådan set at bruge relativ positionering men, kunne ikke lige hitte ud af det.
Du havde forresten også ret med iframen. Det var det lille punktum der var skyld i dette kaos :0)
Avatar billede Slettet bruger
04. september 2002 - 14:45 #26
Du mener a:visited, ikke? Og det er en svær funktion. Så skal man rode med cookies og sådan noget, og det bliver en farlig omgang!

Jeg tror ikke, at tables er på vej nogen steder, men hvis de er, så gælder det om at bruge dem, mens de er her! :)
De letter arbejdet meget. Anskaf dig et hæfte om HTML og læs afsnittes om tables grundigt, så vil du kunne bygge din side fint op.

Relativ positionering er en dårlig idé for dig. Jeg tror du roder lidt i begreberne! :)
Avatar billede Slettet bruger
04. september 2002 - 14:45 #27
Ikke at der er noget galt i det; det tog mig to år at få styr på HTML!
Avatar billede jumlie Nybegynder
05. september 2002 - 10:36 #28
Phoenixv-> Her får du så de velfortjente 100 point. Tak for den
fornemme hjælp :0)
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