Avatar billede ravnborg Nybegynder
16. december 2007 - 11:41 Der er 13 kommentarer og
1 løsning

Vis billed i stor format.

Jeg har en samling billeder, som jeg gerne vil have vist på min hjemmeside.
Jeg har lagt dem ind som thumbnails, nu mangler jeg bare et script der viser billederne i stor format, når man kører muser her over dem.

Er der en der kan hjælpe med sådan et script eller et link til et?

mvh
Ravnborg
Avatar billede thesurfer Nybegynder
16. december 2007 - 13:13 #1
Hvis du fortæller os lidt mere med hensyn til din fil struktur, har vi sikkert et par forslag.. :-)

Eksempel:

thumbnail: /tb/hus.jpg
billede: /img/hus.jpg

Så er det bare at erstatte "tb" med "img", og så har du dit script.. :-)

Men, mere info tak..
Avatar billede ravnborg Nybegynder
16. december 2007 - 15:06 #2
Jeg prøver.
Jeg har lavet alle mine billeder i to formater. et lille på 50x100 og et stort på 150x300
Jeg viser de små på min side. Når musen kommer over et af de små billeder vil jeg gerne at den store version bliver vist.
Lidt ligesom her:
http://www.dynamicdrive.com/dynamicindex4/imagetooltip.htm#

bare uden tekst og ramme, kun billede.
Avatar billede thesurfer Nybegynder
16. december 2007 - 18:03 #3
Du har stadig ikke fortalt os hvordan din filstruktur er.. :-)

Hvad hedder filerne? - Giv et eksempel
Hvordan er filerne placeret i forhold til hinanden (f.eks. i sammme mapp?) )

Giv eksempler.
Avatar billede ravnborg Nybegynder
16. december 2007 - 18:19 #4
filerne ligger i samme mappe.
De hedder 1_lille.jpg, 1_stor.jpg, 2_lille.jpg osv.
Nummeret henviser til ID i databasen der holder styr på billederne. Så billed 7_lille.jpg har ID 7 i databasen.
Avatar billede w13 Novice
16. december 2007 - 18:27 #5
Hvor vil du have det store billede vist? Det skal vi jo vide, hvis vi skal kunne lave det for dig. =)
Avatar billede w13 Novice
16. december 2007 - 18:32 #6
Det kan f.eks. gøres således:

<img src="1_lille.jpg" onmouseover="document.getElementById('largepic').setAttribute('src','1_stor.jpg');document.getElementById('largepic').style.display='inline'" onmouseout="document.getElementById('largepic').style.display='inline'">

<img src="2_lille.jpg" onmouseover="document.getElementById('largepic').setAttribute('src','2_stor.jpg');document.getElementById('largepic').style.display='inline'" onmouseout="document.getElementById('largepic').style.display='inline'">

<img id="largepic" style="display:none">
Avatar billede thesurfer Nybegynder
16. december 2007 - 19:12 #7
w13> Det ville nok være lidt nemmere, hvis man brugte en funktion til det.. :-)

Og så ville jeg nok erstatte "lille" med "stor" via replace, i stedet for at hardcode dem.. :-)

(det behøver man ikke, hvis siden alligevel bliver autogenereret)
Avatar billede w13 Novice
16. december 2007 - 20:20 #8
Jaeh. Det kommer også an på, hvor meget ASP/PHP man vil bruge. Men for at spare kildekode, kan det med fordel lægges i en funktion.
Avatar billede ravnborg Nybegynder
17. december 2007 - 21:14 #9
Jeg vil gerne have det store billed til at ligge ved siden af musen, ligesom i eksemplet:
http://www.dynamicdrive.com/dynamicindex4/imagetooltip.htm#
Avatar billede thesurfer Nybegynder
17. december 2007 - 23:13 #10
Eksempel:

FIL - index.htm:
<html>
<head>
<title>test thumbnail img</title>
<script type="text/javascript" src="thumbnail_img.js"></script>
</head>
<body>

<img src="tb_hus.jpg" onmouseover="doTooltip(event,this.src)" onmouseout="hideTip()">

</body>
</html>

FIL - thumbnail_img.js:
/*
Original code - DO NOT REMOVE : http://www.dynamicdrive.com/dynamicindex4/imagetooltip.htm
*/

/***********************************************
* Image w/ description tooltip- By Dynamic Web Coding (www.dyn-web.com)
* Copyright 2002-2007 by Sharon Paine
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

/* IMPORTANT: Put script after tooltip div or
    put tooltip div just before </BODY>. */

var dom = (document.getElementById) ? true : false;
var ns5 = (!document.all && dom || window.opera) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ie4 && !ie5 && !dom) ? true : false;

var origWidth, origHeight;

// avoid error of passing event object in older browsers
if (nodyn) { event = "nope" }

///////////////////////  CUSTOMIZE HERE  ////////////////////
// settings for tooltip
// Do you want tip to move when mouse moves over link?
var tipFollowMouse= true;   
// Be sure to set tipWidth wide enough for widest image
var tipWidth= 160;
var offX= 20;    // how far from mouse to show tip
var offY= 12;
var tipFontFamily= "Verdana, arial, helvetica, sans-serif";
var tipFontSize= "8pt";
// set default text color and background color for tooltip here
// individual tooltips can have their own (set in messages arrays)
// but don't have to
var tipFontColor= "#000000";
var tipBgColor= "#DDECFF";
var tipBorderColor= "#000080";
var tipBorderWidth= 3;
var tipBorderStyle= "ridge";
var tipPadding= 4;

// tooltip content goes here (image, description, optional bgColor, optional textcolor)
var messages = new Array();
// multi-dimensional arrays containing:
// image and text for tooltip
// optional: bgColor and color to be sent to tooltip
messages[0] = new Array('red_balloon.gif','Here is a red balloon on a white background',"#FFFFFF");
messages[1] = new Array('duck2.gif','Here is a duck on a light blue background.',"#DDECFF");
messages[2] = new Array('test.gif','Test description','black','white');

////////////////////  END OF CUSTOMIZATION AREA  ///////////////////

// preload images that are to appear in tooltip
// from arrays above
if (document.images) {
    var theImgs = new Array();
    for (var i=0; i<messages.length; i++) {
      theImgs[i] = new Image();
        theImgs[i].src = messages[i][0];
  }
}

// to layout image and text, 2-row table, image centered in top cell
// these go in var tip in doTooltip function
// startStr goes before image, midStr goes between image and text
var startStr = '<table width="' + tipWidth + '"><tr><td align="center" width="100%"><img src="';
var midStr = '" border="0"></td></tr><tr><td valign="top">';
var endStr = '</td></tr></table>';

////////////////////////////////////////////////////////////
//  initTip    - initialization for tooltip.
//        Global variables for tooltip.
//        Set styles
//        Set up mousemove capture if tipFollowMouse set true.
////////////////////////////////////////////////////////////
var tooltip, tipcss;
function initTip() {
    if (nodyn) return;
    tooltip = (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
    tipcss = tooltip.style;
    if (ie4||ie5||ns5) {    // ns4 would lose all this on rewrites
        //tipcss.width = tipWidth+"px";
        tipcss.fontFamily = tipFontFamily;
        tipcss.fontSize = tipFontSize;
        tipcss.color = tipFontColor;
        tipcss.backgroundColor = tipBgColor;
        tipcss.borderColor = tipBorderColor;
        tipcss.borderWidth = tipBorderWidth+"px";
        tipcss.padding = tipPadding+"px";
        tipcss.borderStyle = tipBorderStyle;
    }
    if (tooltip&&tipFollowMouse) {
        document.onmousemove = trackMouse;
    }
}

window.onload = initTip;

/////////////////////////////////////////////////
//  doTooltip function
//            Assembles content for tooltip and writes
//            it to tipDiv
/////////////////////////////////////////////////
var t1,t2;    // for setTimeouts
var tipOn = false;    // check if over tooltip link
function doTooltip(evt,src) {
    if (!tooltip) return;
    if (t1) clearTimeout(t1);    if (t2) clearTimeout(t2);
    tipOn = true;

    //alert(src);

    /**
    // set colors if included in messages array
    if (messages[num][2])    var curBgColor = messages[num][2];
    else curBgColor = tipBgColor;
    if (messages[num][3])    var curFontColor = messages[num][3];
    else curFontColor = tipFontColor;
    /**/

    /**/
    // here
    if (ie4||ie5||ns5) {
        var tip = '<div><img src="' + src.replace("tb", "img") + '"></div>';
        //tipcss.backgroundColor = curBgColor;
        tooltip.innerHTML = tip;
    }
    /**/

    if (!tipFollowMouse) positionTip(evt);
    else t1=setTimeout("tipcss.visibility='visible'",100);
}

var mouseX, mouseY;
function trackMouse(evt) {
    standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
    mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft;
    mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop;
    if (tipOn) positionTip(evt);
}

/////////////////////////////////////////////////////////////
//  positionTip function
//        If tipFollowMouse set false, so trackMouse function
//        not being used, get position of mouseover event.
//        Calculations use mouseover event position,
//        offset amounts and tooltip width to position
//        tooltip within window.
/////////////////////////////////////////////////////////////
function positionTip(evt) {
    if (!tipFollowMouse) {
        standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
        mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft;
        mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop;
    }
    // tooltip width and height
    var tpWd = (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;
    var tpHt = (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;
    // document area in view (subtract scrollbar width for ns)
    var winWd = (ns5)? window.innerWidth-20+window.pageXOffset: standardbody.clientWidth+standardbody.scrollLeft;
    var winHt = (ns5)? window.innerHeight-20+window.pageYOffset: standardbody.clientHeight+standardbody.scrollTop;
    // check mouse position against tip and window dimensions
    // and position the tooltip
    if ((mouseX+offX+tpWd)>winWd)
        tipcss.left = mouseX-(tpWd+offX)+"px";
    else tipcss.left = mouseX+offX+"px";
    if ((mouseY+offY+tpHt)>winHt)
        tipcss.top = winHt-(tpHt+offY)+"px";
    else tipcss.top = mouseY+offY+"px";
    if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);
}

function hideTip() {
    if (!tooltip) return;
    t2=setTimeout("tipcss.visibility='hidden'",100);
    tipOn = false;
}

document.write('<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>');
Avatar billede thesurfer Nybegynder
17. december 2007 - 23:16 #11
Der er 2 ting du skal være opmærksom på:

1) Inkludering af ekstern JavaScript fil i HEAD-området:
<script type="text/javascript" src="thumbnail_img.js"></script>

2) Den måde du indsætter thumbnail og kalder funktionen på:
<img src="tb_hus.jpg" onmouseover="doTooltip(event,this.src)" onmouseout="hideTip()">

Det eneste der skal ændres, er i nr 2, som er filnavnet: "tb_hus.jpg"
Avatar billede thesurfer Nybegynder
28. december 2007 - 15:36 #12
Hallo? :-)
Avatar billede ravnborg Nybegynder
05. april 2008 - 09:20 #13
>thesurfer
Jeg har lige kastet mig over dette problem igen, og brugt dit forslag.
Så du må gerne oprette et svar.
Avatar billede thesurfer Nybegynder
05. april 2008 - 10:36 #14
Det gør jeg så :-)
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