Avatar billede redfox Nybegynder
22. september 2006 - 00:22 Der er 13 kommentarer og
1 løsning

Svævende forstørret billede på mouseover (CSS / HTML /JavaScript)

Jeg vil gerne kunne vise en række thumbnails - og når musen bevæges over skal der svæve en større version indover resten af indholdet.

Hvad er smartest? DHTML eller JavaScript? Man kan stensikkert downloade det 100 steder. Max point til den der skriver det hurtigste og simpleste her :-)
Avatar billede gider_ikke_mere Nybegynder
22. september 2006 - 00:33 #1
Skal billedet poppe op, fade ind, eller glide ind? En layer og lidt javascript kan gøre det.
Avatar billede redfox Nybegynder
22. september 2006 - 16:43 #2
Poppe op, uden at skubbe noget til side... Bare ikke et nyt vindue.

Lidt som <img width="10" height="10" onMouseOver="this.style.width='20';this.style.height='20'" onMouseOut="this.style.width='10';this.style.height='10'"> - bare uden at bevæge alt omkring sig (og ikke så amatøragtigt)...

Har set det en del gange, men kan selvfølgelig ikke lige huske hvor...
Avatar billede gider_ikke_mere Nybegynder
22. september 2006 - 17:33 #3
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<style type="text/css">
<!--
#Layer1 {
    position:absolute;
    width:200px;
    height:115px;
    z-index:1;
    visibility: hidden;
}
#Layer2 {
    position:absolute;
    width:200px;
    height:115px;
    z-index:1;
    visibility: hidden;
}
-->
</style>
<script type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</script>
</head>

<body>
<img src="IMG_0433_lille.jpg" alt="Mit billede" width="200" height="150" onmouseover="MM_showHideLayers('Layer1','','show')" onmouseout="MM_showHideLayers('Layer1','','hide')">
<div id="Layer1"><img src="IMG_0433_stor.jpg" width="400" height="300"></div>

<br>

<img src="IMG_0433_lille.jpg" alt="Mit billede" width="200" height="150" onmouseover="MM_showHideLayers('Layer2','','show')" onmouseout="MM_showHideLayers('Layer2','','hide')">
<div id="Layer2"><img src="IMG_0433_stor.jpg" width="400" height="300"></div>
</body>
</html>
Avatar billede redfox Nybegynder
22. september 2006 - 17:45 #4
...men det lægger sig jo ikke ovenpå anden tekst?
Avatar billede gider_ikke_mere Nybegynder
22. september 2006 - 17:54 #5
Tekst?
Avatar billede gider_ikke_mere Nybegynder
22. september 2006 - 18:01 #6
Du kan rette

#Layer1 {
    position:absolute;
    width:200px;
    height:115px;
    z-index:1;
    visibility: hidden;
}

til

#Layer1 {
    position:absolute;
    width:200px;
    height:115px;
    z-index:1;
    visibility: hidden;
    left: 30%;
}

eller

#Layer1 {
    position:absolute;
    width:200px;
    height:115px;
    z-index:1;
    visibility: hidden;
    left: 300px;
}

Du kan også angive en værdi for top.
Avatar billede redfox Nybegynder
23. september 2006 - 15:57 #7
Det var bare mig som havde lavet en fejl. Tak for det. Lav et svar og få point :-)
Avatar billede gider_ikke_mere Nybegynder
23. september 2006 - 16:16 #8
Velbekomme :-)
Avatar billede redfox Nybegynder
23. september 2006 - 17:11 #9
Jeg kan ikke helt få det til at virke. Det konflikter med dette png-gennemsigtighedsscript. Hvorfor?

if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
    document.writeln('<style type="text/css">img { visibility:hidden; } </style>');
    window.attachEvent("onload", fnLoadPngs);
}

function fnLoadPngs() {
    var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
    var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);

    for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) {
        if (itsAllGood && img.src.match(/\.png$/i) != null) {
            var src = img.src;
            img.style.width = img.width + "px";
            img.style.height = img.height + "px";
            img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')"
            img.src = "blank.gif";
        }
        img.style.visibility = "visible";
    }
}
Avatar billede gider_ikke_mere Nybegynder
23. september 2006 - 17:38 #10
Hvad har du af problemer?
Avatar billede gider_ikke_mere Nybegynder
23. september 2006 - 17:42 #11
Hvis du får scriptfejl, er det måske fordi de store billeder er skjulte. Jeg ved i øvrigt ikke om du kan finde dimensionerne på skjulte billeder, eller om denne vil blive betragtet som værende 0.
Avatar billede redfox Nybegynder
23. september 2006 - 17:52 #12
http://www.malver.dk/fileadmin/slet/popopexp.htm

Det virker bare ikke, når det andet script sættes ind.
Avatar billede gider_ikke_mere Nybegynder
23. september 2006 - 18:01 #13
Jeg kan ikke kigge på det før i morgen, så giv lige besked, hvis du løser problemet. Jeg har gemt koden på siden ovenover!
Avatar billede redfox Nybegynder
23. september 2006 - 18:09 #14
Ok, tak for det...
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