2009-12-06 4 views
0

J'ai besoin d'aide dans jQuery. Ce que je veux faire est de créer une sorte de galerie de photos petite, très, très facile.jQuery charge de l'image

Je veux avoir quelques petites photos sur le côté gauche de ma page. En cliquant sur l'une de ces petites images, je voudrais charger cette image dans une autre div où elle est affichée en taille réelle.

<a href="image1_big.jpg" class="smallpics" /><img src="image1_small" /></a> 
<a href="image2_big.jpg" class="smallpics" /><img src="image2_small" /></a> 
<a href="image3_big.jpg" class="smallpics" /><img src="image3_small" /></a> 
<div id="bigpic" /><img src="image1_big" /></div> 

Tous mes attemts jQuery a échoué que je ne pouvais pas changer la source de l'image dans ce bigpic div.

+0

Pouvez-vous fournir votre code jQuery? –

Répondre

2

Cela devrait le faire pour vous:

$(function(){ 
    $("a.smallpics").click(function(e){ 
     $("#bigpic").html('<img src="' + this.href + '" />'); 
     e.preventDefault(); 
    }); 
}); 

je aurais pu utiliser cette (au lieu de la ligne similaire dans l'exemple précédent):

$("#bigpic").empty().append($("<img />").attr('src', this.href)); 

Mais la première option sera effectivement exécuter c'est un peu plus rapide. Avec un seul appel, vous ne serez pas en mesure de faire la différence, donc si l'option deux est plus facile à lire ou à écrire, vous pouvez l'utiliser.

+0

Hey dcneiner thx pour cette réponse super rapide, mais en quelque sorte le e.preventDefault() semble ne pas fonctionner. Si je clique sur une petite image, mon navigateur (firefox) ouvre l'image et ne colle pas à mon site html. – Niko

+0

@Niko, il ne semble pas que vous ayez collé votre vrai code HTML dans votre question. Est-il possible pour vous de copier exactement ce que vous avez et d'éditer votre question originale pour le montrer? Il est possible que vous ayez quelque chose d'autre en cours. –

+0

Ah, j'ai une idée ... J'ai mis à jour ma question, essayez le nouveau code. –