Reputation: 6370
I have one large image 400px x 400px and 3 smaller images underneath, each one is 100px x 100px.
Is it possible when you click on one of the thumbnail images it swaps with the larger image, essentially enlarging it?
Upvotes: 1
Views: 1987
Reputation: 9469
EDITED:
HTML:
<div id="imgThumbs">
<a href="#" class="showImg"><img src="img1-thumb.jpg" width="100" height="100" alt="Image 1" /></a>
<a href="#" class="showImg"><img src="img2-thumb.jpg" width="100" height="100" alt="Image 2" /></a>
<a href="#" class="showImg"><img src="img3-thumb.jpg" width="100" height="100" alt="Image 3" /></a>
</div>
<div id="imgHolder"></div>
CSS:
#imgThumbs {
overflow: hidden;
margin: 20px auto;
width: 366px;
text-align: center;
}
.showImg {
width: 100px;
padding: 10px;
float:left;
border: 1px solid #fff;
border-radius: 5px;
}
#imgHolder {
border-top: 5px solid #bbb;
padding: 20px;
margin: 0 auto;
width: 80%;
}
.active {
border: 1px dashed #aaa;
background-color: #f4f4f4;
}
jQuery:
$('.showImg').hover(function(){
$(".showImg").removeClass("active");
$(this).addClass("active");
var imgURL = $(this).find('img').attr("src");
$('#imgHolder').find('img').attr("src", imgURL);
});
Upvotes: 1
Reputation: 382102
Yes, that's possible and easy.
You may do something like
// small images have the class 'small'
$('img.small').click(function(){
this.src = 'path to big image';
});
Usually you use file naming conventions. So your code could be
$('img.small').click(function(){
// changes the source of small images
// from somepath.png to somepath-big.png
this.src = this.src.split('.')[0]+'-big.png';
$(this).removeClass('small');
});
But you have to decide what exactly you want to do...
Upvotes: 0