Avatar billede rudi1234 Nybegynder
19. december 2005 - 09:46 Der er 13 kommentarer og
1 løsning

IMG; åben billede ved klik

Kan der laves en funktion, således at alle billeder som ligger i fx en td.screedump:

<td class="screendump"><img src="etellerandet.gif"></td>


... således at de åbnes ved klik.

Funktionen skal løbe alle billeder igennem ved onload. Jeg vil gerne undgå at skulle skrive den fulde sti til billedet flere gange (<img src=... onclick=open('...'> osv.) idet jeg desværre ikke kan lave siden dynamisk i php eller andet.
Jeg er ved at lave nogle
Avatar billede softspot Forsker
19. december 2005 - 10:13 #1
window.onload = function() {
  var dmp = document.getElementById("screendump");
  if(dmp) {
    var imgs = document.getElementsByTagName("img");
    for(var i = 0; i < imgs.length; i++) {
      imgs[i].onclick = function() { openFunc(this); }
    }
  }
}

function openFunc(imageObject) {
  // her åbner du så det der skal åbnes...
  // imageObject er det billede der er klikket på.
}
Avatar billede softspot Forsker
19. december 2005 - 10:16 #2
Sludder! Man skal naturligvis tage de images som ligger inde i det element man har taget fat i (dmp i mit eksempel):

window.onload = function() {
  var dmp = document.getElementById("screendump");
  if(dmp) {
    var imgs = dmp.getElementsByTagName("img");
    for(var i = 0; i < imgs.length; i++) {
      imgs[i].onclick = function() { openFunc(this); }
    }
  }
}
Avatar billede rudi1234 Nybegynder
19. december 2005 - 10:38 #3
Det ligner lige det jeg skal bruge! Men een ting mere: Hvad skal det stå i funktionen openFunc?
Avatar billede rudi1234 Nybegynder
19. december 2005 - 10:38 #4
Afsat 30 mere... :o)
Avatar billede softspot Forsker
19. december 2005 - 10:51 #5
Hvad der skal stå i funktionen afhænger lidt af hvad du gerne vil have til at ske, men hvis det er at vise billedet i sin fulde størrelse, så kunne openFunc se således ud:

function openFunc(imageObject) {
  // imageObject er det billede der er klikket på.
  var winHTML = "<html><head><title>Billede i fuld størrelse</title>" +
        "<scr" + "ipt type=\"text/javascript\">window.onload = function() { " +
        "var i = document.images[0]; resizeTo(i.offsetWidth,i.offsetHeight); }</scr" + "ipt>" +
        "</head>" +
        "<body style=\"margin:0;padding:0;\">" +
        "<img src=\"" + imageObject.src + "\"></body></html>";
  var win = window.open("", "fullsizeimage","statusbar=no,scrollbars=no,toolbars=no");
  win.document.open();
  win.document.write(winHTML);
  win.document.close();
}
Avatar billede rudi1234 Nybegynder
19. december 2005 - 10:59 #6
Tak for det! Det virker. Min endelige kode blev:

window.onload = function() {
    var imgs = document.getElementsByTagName("img");
    for(var i = 0; i < imgs.length; i++) {
      if (imgs[i].parentNode.className="screendump") imgs[i].onclick = function() { openFunc(this); }
    }
}
function openFunc(imageObject) {
      // imageObject er det billede der er klikket på.
  var winHTML = "<html><head><title>Billede i fuld størrelse</title>" +
        "<scr" + "ipt type=\"text/javascript\">window.onload = function() { " +
        "var i = document.images[0]; resizeTo(i.offsetWidth,i.offsetHeight); }</scr" + "ipt>" +
        "</head>" +
        "<body style=\"margin:0;padding:0;\">" +
        "<img src=\"" + imageObject.src + "\"></body></html>";
  var win = window.open("", "fullsizeimage","statusbar=no,scrollbars=no,toolbars=no");
  win.document.open();
  win.document.write(winHTML);
  win.document.close();
}
Avatar billede rudi1234 Nybegynder
19. december 2005 - 11:00 #7
softspot > smid et svar!
Avatar billede softspot Forsker
19. december 2005 - 11:00 #8
Du kunne også tage roenving's kode til formålet (samme princip, men mere fuldendt end min version). Den ligger på http://roenving.users.whitehat.dk/ under det punkt der hedder "pop-ups - #1 Resize til billede"...
Avatar billede softspot Forsker
19. december 2005 - 11:01 #9
Javel! :)
Avatar billede rudi1234 Nybegynder
19. december 2005 - 11:08 #10
Det vil jeg (måske) se på! Lige nu er det tiden der er vigtigst, og jeg har ikke tid til at undersøge det!

Tak for svaret :o)
Avatar billede softspot Forsker
19. december 2005 - 11:13 #11
Roenving's kode er såmænd ikke mere kompliceret end det eksempel jeg gav, det tager bare bedre højde for billedets størrelse ifht. vinduet. Koden er lige til at kopiere og paste og ligner som sagt det kode jeg har vist...

Velbekomme :)
Avatar billede softspot Forsker
19. december 2005 - 11:14 #12
Og tak for point i øvrigt :)
Avatar billede rudi1234 Nybegynder
19. december 2005 - 16:13 #13
Tak for tippet! Ja, den var jo lige til at paste ind (og tilføje ."src" til "file" et enkelt sted...)

Det har jeg gjort nu, og det virker.
Avatar billede softspot Forsker
19. december 2005 - 16:20 #14
No problemo ;-)
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