webForumDet fria alternativet

ett litet problem

6 svar · 563 visningar · startad av jimtim

jimtimMedlem sedan jan. 20103 inlägg
#1

Har ett litet problem som jag inte riktigt vet hur jag ska lösa. Jag har små bilder på min hemsida och vill när man klickar på dom att dom ska öppnas i större format i ett nytt fönster.Har löst det mesta utom just när det gäller att öppna rätt fil. Namnen på filerna är typ bild1 och bild1_big osv. Jag vill med andra ord att oavsett vilken bild jag klickar på så ska motsvarande fil med ändelsen _big öppnas.

Kanske inget större problem för den rutinerade men jag är väldigt färsk när det gäller javascript.

Det är funktionen bigPicture som är trixig.

Den kod jag skrivit än så länge är följande:
function init()
{
var bild=new Array();

bild=document.getElementsByTagName("img");

for(var i=0;i\<bild.length;i++){
	 
	if(bild*.className=="big"){
	
	       bild*.onclick=bigPicture;
		
	}
		
	 	

}

}**

postolMedlem sedan jan. 201017 inlägg
#2

Genererar du koden för bilderna från någon databas eller?

Enklast är väll att du i <img> taggen skriver vad som ska ske när man klicka på bilden?

typ:
<a href="bild1_big.jpg" target="_blank"><img name="bild1" src="bild1.jpg" border="0"></a>

jimtimMedlem sedan jan. 20103 inlägg
#3

Nej jag använder ingen databas.

Förstår vad du menar men jag var mer ute efter en javascript-lösning, det kan ju vara så att hemsidan man har använder 100tal bilder. Då måste det vara smidigare med den lösningen jag var ute efter med att manipulera filnamnet, annars måste man ändra på varenda tagg.

postolMedlem sedan jan. 201017 inlägg
#4

Okej då är jag med, eftersom du inte kan skicka med parametrar när du gör på det sättet så kan det va lite krångligt, men kolla på den här sidan, där finns ett ganska bra förslag på hur du löser det.

http://www.chovy.com/web-development/javascript-dynamically-change-onclick-event/

voigtann1Medlem sedan juni 20019 519 inlägg
#5

jquery är enklare men detta bör fungera för dig:

function bigPicture() {
	var newImageurl =  this.src.replace(/([^.]+)\.(\w{1,3})$/ig, "$1_big.$2");
	var popup = window.open(newImageurl, "popup", "height=800,width=600");
  	popup.focus();
}

function init() {
	var bild=new Array();
	bild = document.getElementsByTagName("img");
	for(var i=0;i<bild.length;i++)
		if(bild[i].className=="big") 
			bild[i].onclick=bigPicture;
}
jimtimMedlem sedan jan. 20103 inlägg
#6

Fungerade utmärkt! Tackar er båda så mycket för hjälpen!

voigtann1Medlem sedan juni 20019 519 inlägg
#7

Markera gärna det inlägg som löste ditt problem: http://www.webforum.nu/faq.php?faq=vb_faq#faq_faq_acceptance

130 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)