Gå til innhold

:hover over et bilde endrer et annet?


Anbefalte innlegg

Skrevet (endret)

Jeg vet det har vært tråder om dette her inne før, men jeg klarer ikke å finne de. Derfor spør jeg:

 

Jeg vil at et bilde skal byttes ut når jeg holder pekeren over et annet bilde. Hvordan gjøres dette? Det skal brukes på http://4bikers.no, når man hovrer en tur (f.eks. Route 66) skal turen komme opp i USA-kartet.

 

EDIT: Leif på besøk as usual.

Endret av -Teddy-
Videoannonse
Annonse
Skrevet

CSS kan også brukes.. Man lager et bilde som er dobbelt så bredt som bildet skal være. Og setter margin-left: -50px;

hvis bildet er 50px.. Men finner ikke siden igjen =/

Skrevet (endret)

css er vel det letteste?

 

<div id="bilde"></div>

 

#id{
width:150px;
height:150px;
background-image:url(foo/bar.png);
background-position:top;}

#id:hover{
background-postion:bottom;}

 

Utover dette legger du begge bildene inn i samme fil, om du bruker dette eksempelet legger du bildet som vanligvis skal vises øverst, og hover bildet nederst.

Endret av harald_
Skrevet

dere missforstår, se for dere dette: dere har to bilder. Et i høyre hjørne og et i venstre hjørne av browseren. Det han ønsker å oppnå er at hvis han tar hover på det høyre bildet så endrer det venstre seg.. altså ikke en tradisjonell mouseover

Skrevet

Neinei, ikke slik.

Når jeg holder musepekeren over bilde A, endres bilde B til noe annet.

Se på 4bikers.no, når jeg holder musepekeren over en av turene skal kartet under endre seg til å vise den aktuelle ruten.

  • 2 uker senere...
Skrevet

Bare bruk en tom span inni en div.

Deretter styler du div:hover span og legger span'en absolutt over det aktuelle bildet. Fungerer ikke uten videre i IE6, jeg vet ikke med 7'ern.

Skrevet (endret)

Umm, skjønte ikke så mye av det. Kan bare grunnleggende css/html. :p

 

Trenger desperat hjelp til denne koden. Weblæreren vår er inkompetent :hm:

Endret av Snobjorn
Skrevet (endret)

Eks:

Du har et bilde i <div id="bilde1"> og et i <div id="bilde2">. Når du holder musepekeren over bilde1 vil du endre bilde2.

 

HTML

<div id="bilde1"><span></span></div>
<div id="bilde2"><span></span></div>

 

CSS:

div span{
display: none;
}

#bilde1 {
background: red; 
position: absolute; 
width: 50px;
height: 50px;
top: 0; 
left: 0;}

#bilde2 {
background: green; 
position: absolute;
width: 50px;
height: 50px;
top: 50; 
left: 0;}

#bilde1:hover span{
background: blue; 
display: block;
position: absolute;
width: 50px;
height: 50px;
top: 50; 
left: 0;}

 

Dette medfører at bilde to blir blått når man holder musepekeren over bilde 1.

EDIT: Med forbehold om kodefeil...

Endret av -Teddy-
Skrevet (endret)

Takk for svar, men da jeg kopierte inn koden, var det eneste jeg fikk en rød og en grønn firkant, skjedde ikkenoe når jeg holdt musepekeren over noen av de.

 

Når vi vil ha bildene mine istedenfor dine, så bare endrer jeg div med <img> ikke sant? Vi skjønner halveis hvordan det fungerer nå. :)

Endret av Snobjorn
Skrevet

Jeg ville løst dette problemet med JavaScript. Ganske simpelt.

 

 

Javascript:

<script type="text/javascript">
<!--

function visBilde() {
document.images["Image1"].src="bilde2.jpg";
}

function ikkeVisBilde() {
     document.images["Image1"].src="bilde1.jpg";
}

-->
</script>

2 metoder, en for når du har musa over bildet, og en for når det første bildet skal settes tilbake.

 

Html koden blir da slik:

<a href="#" onMouseOver="visBilde();" onMouseOut="ikkeVisBilde();"><img id="Image1" src="bilde1.jpg" /></a>

 

Hele koden, denne fungerer. Men bildetittlene må selvsagt endres.

<html>
<head>

<script type="text/javascript">
<!--

function visBilde() {
document.images["Image1"].src="bilde2.jpg";
}

function ikkeVisBilde() {
     document.images["Image1"].src="bilde1.jpg";
}

-->
</script>
</head>
<body>

<a href="#" onMouseOver="visBilde();" onMouseOut="ikkeVisBilde();"><img id="Image1" src="bilde1.jpg" /></a>

</body>
</html>

 

mvh ScratchMyTail

Skrevet

Jeg fant problemet med min kode; du kan ikke skjule et allerede absolutt posisjonert objekt med et annet absolutt posisjonert objekt. Er det noen som vet om dette kan omgås med css?

 

Om du endrer fra position: absolute; på #bilde1 og 2 til relative og dropper top: og bottom: samt setter top og left for #bilde1:hover span slik at den dekker over funker det.

 

Legger ved eksempel:

Klikk for å se/fjerne innholdet nedenfor
<html>
<head>
<style>
* {margin: 0; padding: 0;}

div span{
display: none;
}

#bilde1 {
background: red;
width: 50px;
height: 50px;
float: left;
}

#bilde2 {
background: green;
width: 50px;
height: 50px;
float: left;
}

#bilde1:hover span{
background: blue;
display: block;
position: absolute;
width: 50px;
height: 50px;
left: 50px;
}

</style>


</head>
<body>



<div id="bilde1"><span></span></div>
<div id="bilde2"><span></span></div>
</body>
</html>

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...