Rob
Rob

Reputation: 6370

Swap thumbnail images with larger image?

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

Answers (2)

Ahsan Khurshid
Ahsan Khurshid

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);    
});​

WORKING DEMO

Upvotes: 1

Denys S&#233;guret
Denys S&#233;guret

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

Related Questions