webForumDet fria alternativet

få reda få bildens höjd och bredd?

JavaScript

2 svar · 369 visningar · startad av yador

Medlem sedan mars 2004455 inlägg
Frågan#1

Hejsan!
Kan man på något sätt få veta en bilds höjd och bredd med hjälp av javascript? Jag försöker nämligen göra ett litet bildgalleri och när man klickar på någon av bilderna så anropas denna funktion:

function showImage(x)
{
	with(window.open("","","toolbar=no,location=no,directories=no,status=no,menubar=no").document){
		open();
		write("<html><head><title>Bildvisare</title></head><body style=\"margin:0;padding:0;\">");
		write("<img src=\"" + x.src.replace("small","larger") + "\" /><br /><p>" + x.alt + "</p>");
		write("</body></html>");
		close();
	}
}

img taggarna har jag skrivit såhär: <img src="include/images/small/traningslager303.jpg" alt="Träningslägret sommaren 2003" onclick="showImage(this); return false;" />

Undrar detta pga att koden fungerar inte i internet explorer, internet explorer utvidgar inte fönsret efter bilden. I firefox fungerar det dock bra. Har någon någon ide hur jag ska göra?

Tack på förhand!

Medlem sedan nov. 20014 054 inlägg
#2

Bildens höjd kan du väl i detta fall få genom

// bredd och höjd för bild i funktionen showImage...
x.width
x.height
Medlem sedan mars 2004455 inlägg
#3

mm, för att det ska fungera så har jag för mig att man måste skriva det i bilden och pga att det inte är samma bild som jag visar i det öppnade fönsret så kommer den lösningen inte fungera, i alla fall inte om jag tänker rätt, men tack ändå för tipset :)

Men jag har löst det nu:

function showImage(x)
{	
	with(window.open("","","toolbar=no,location=no,directories=no,status=no,menubar=no").document){
		open();
		write("<html><head><title>Bildvisare</title>");
		write("<scr" + "ipt>window.onload = function() { ");
		write("window.resizeTo(document.getElementById(\"image\").width,document.getElementById(\"image\").height+150); }</scr" + "ipt>");
		write("</head><body style=\"margin:0;padding:0;\">");
		write("<img src=\"" + x.src.replace("small","larger") + "\" id=\"image\" /><br /><p>" + x.alt + "</p>");
		write("</body></html>");
		close();
	}
}

#EDIT
Klollade nu om width och height fungerade och det gjorde det. Sist jag provade så funkade det inte, men men.

263 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)