Avatar billede charmander1978 Nybegynder
30. april 2008 - 09:23 Der er 11 kommentarer

Mouse over på et billede

Jeg skla lave en mouse over på et billede hvor at når man køre over billedet skal der også være et link.

Hvordan kan jeg lave denn mouse over funktion UDEN brug af jave - altså ren html?

JEg kan simpelthen ikke finde noget - håber der er en der ligger inde med en kode :)
Avatar billede w13 Novice
30. april 2008 - 09:49 #1
Det kan du overhovedet ikke. :)

Det fungerer sådan her:
HTML er til at definere objekterne på siden og deres egenskaber.
CSS er til at style objekterne med.
JavaScript er til alle handlinger, som skal udføres af siden.

I enkelte særtilfælde kan en af de 3 gå ind og erstatte nogle funktioner for en af de 2 andre, men man bør _altid_ bruge det sprog, som er opfundet til formålet.

Og til mouseover har man JavaScript!

Derfor er mouseover-attributten indhold også som standard JavaScript.

<img src="billedet.jpg" onmouseover="this.src='billedet2.jpg'" onclick="window.location.href='nyside.htm'">
Avatar billede w13 Novice
30. april 2008 - 09:50 #2
Glemte: Mouseover er en handling, derfor skal man bruge JavaScript til det.
Avatar billede charmander1978 Nybegynder
30. april 2008 - 10:15 #3
Det kan ikke passe at man ikke kan uden Java - jeg har lige prøvet at ligge denne kode ind:

<a href= http://mit-domæne.dk  onMouseOver= "if (document.images) document.mail.src= 'pics/mail-o.gif';" onMouseOut= "if (document.images) document.mail.src= 'pics/mail.gif';"><img src="http://pics/mail.gif" name=mail border=0></a>

Og det virker rigtig fint - lokalt og på vores webhotel - men ligger vi det op på en entern server så virker mouse over ikke (det har virket før med java - men nu er det intet der virker)
Avatar billede w13 Novice
30. april 2008 - 10:23 #4
Man kan lave noget af det med CSS, men det bliver rodet og nogle browsere vil ikke kunne følge med, og så er det i øvrigt ikke det, som CSS er beregnet til.
Derimod bruger man JavaScript til netop dette (bemærk at Java er et helt andet sprog ;)

I din kode er det meste af JavaScript-delen meget forældet. F.eks. har document.images været det i mange år nu.

Det skal gøres sådan her:

<a href="http://mit-domæne.dk">
  <img style="border:0" src="pics/mail.gif" onmouseover="this.setAttribute('src','pics/mail-o.gif')" onmouseout="this.setAttribute('src','pics/mail.gif')">
</a>

Og det vil 100% kunne komme til at fungere både lokalt, globalt, internt og eksternt. :)
Avatar billede w13 Novice
30. april 2008 - 10:24 #5
Hvilket sprog ville du dog bruge, hvis det ikke måtte være i JavaScript?
Avatar billede jeppe999 Nybegynder
30. april 2008 - 14:21 #6
Jo css indeholder en meget ny funktion der hedder:
img:hover {}
, men den kan(såvidt jeg ved) kun bruges i IE7.
Avatar billede jeppe999 Nybegynder
30. april 2008 - 14:23 #7
Og forresten virker img:hover kun med !doctype'en for html 4,01 øverst på siden.
Avatar billede w13 Novice
30. april 2008 - 14:23 #8
Lige præcis. :)
JavaScript er jo - i modsætning til CSS - beregnet til at foretage dynamiske handlinger og - vil jeg mene - dermed meget bedre egnet til formålet.
Og hvis man gerne vil have det til at virke i andre browsere end IE7, har man ikke meget valg.
Avatar billede jeppe999 Nybegynder
30. april 2008 - 14:24 #9
Desuden er Java noget helt andet end JavaSript!
Avatar billede olebole Juniormester
30. april 2008 - 23:13 #10
<ole>

"Og forresten virker img:hover kun med !doctype'en for html 4,01 øverst på siden" >> Nej, det fungerer med alle nyere doctypes.

Der er intet somhelst logisk ved at bruge CSS til dette. Desværre fik man stoppet hover ved a-elementer ind under CSS på et tidspunkt, hvor strukturen i logisk opdeling af websidens forskellige komponenter var udviklet.

Der har været - og er til stadighed - heftig diskussion i W3C om brugen af hover. Hensynet til vane og kodernes træghed omkring udvikling af kodestil ser foreløbig ud til at have vundet.

På den anden side betyder det, at man kan en ting, jo ikke, at man absolut skal  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
30. april 2008 - 23:15 #11
Ups, der skulle selvfølgelig stå:
    "hvor strukturen i logisk opdeling af websidens forskellige komponenter endnu ikke var udviklet."

- hvilket jo er det stik modsatte  ;D
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