2013-03-29 3 views
6

У меня есть одно большое изображение и маленькие большие пальцы, я пытаюсь обменять их src друг на друга. Здесь я изменяю палец img в flashWrapper img, но я хочу обменять их src. Помощь Pls!Swap image src with jquery

HTML

<div class="bottlesWrapper"> 
    <img src="bottle1.png" /> 
</div> 

<div class="thumbs"> 
    <img src="bottle2.png" /> 
</div> 

SCRIPT

<script> 
$('.thumbs a').each(function() { 
    $(this).click(function() { 
     var aimg = $(this).find("img") 

     $('.bottlesWrapper img').fadeOut('fast',function(){ 
     $(this).attr('src', $(aimg).attr('src')).fadeIn('fast'); 
     }); 

    }); 
}); 
</script> 

EDIT

Спасибо всем :)

Я на самом деле забыл дать одну информацию, которая у меня есть различные пальцы, это ответ подходит лучше всего! Спасибо всем за ваши драгоценные вклады!

$('.thumbs img').click(function() { 
    var thmb = this; 
    var src = this.src; 
    $('.bottlesWrapper img').fadeOut(400,function(){ 
     thmb.src = this.src; 
     $(this).fadeIn(400)[0].src = src; 
    }); 
}); 
+1

нет ярлыков внутри больших пальцев –

+0

См. Также этот пример «своп-галерея» от Design Chemical: http://www.designchemical.com/blog/index.php/jquery/jquery-image-swap-gallery/ (не сложно было бы добавить fadein/fadeout, я думаю) –

ответ

6

К SWAP изображения действительно нравится:

LIVE DEMO

$('.thumbs img').click(function() { 
    var thmb = this; 
    var src = this.src; 
    $('.bottlesWrapper img').fadeOut(400,function(){ 
     thmb.src = this.src; 
     $(this).fadeIn(400)[0].src = src; 
    }); 
}); 

Если у вас есть несколько 'галерей' делать, как: http://jsbin.com/asixuj/5/edit

+0

Nopes, это снова меняется только BIG img для небольшого источника изображения.Я хочу это, например. у вас есть зеленое изображение сверху и когда вы нажимаете на черный img thumb, я хочу, чтобы черный палец стал розовым и отображал черный img сверху .. «В принципе хочу поменять два изображения» Надеюсь, что я путаю u – itsMe

+0

@itsMe у вас есть видел мое редактирование? Он делает именно то, что –

+0

Это работает отлично! Спасибо :) – itsMe

0

Try:

$('.thumbs img').click(function() { 
    var img_src = img.attr('src'); 

    $(this).fadeOut('fast',function(){ 
     $(this).attr('src', $('.bottlesWrapper img').attr('src')).fadeIn('fast'); 
    }); 

    $('.bottlesWrapper img').fadeOut('fast',function(){ 
     $(this).attr('src', img_src).fadeIn('fast'); 
    }); 
}); 

Вы должны приложить нажмите события img тегов внутри thumbs класса, а затем изменить источник изображения.

+0

Nopes, it dint work: (Единственный его источник для замены бутылокWrapper img, а не thumbs img – itsMe

+0

@itsMe, попробуйте обновленный ответ ... – Anujith

2

Ther не <a> тег в вопрос .. и при условии его img .. на cl Ик тумб IMG .. bottlesWrapper получит swaped ..

попробовать этот

обновленный

$('.thumbs img').click(function() { 
    var img=$(this).attr('src'); 

    $('.bottlesWrapper img').fadeOut('fast',function(){ 
    $(this).attr('src', img).fadeIn('fast'); 
    }); 

    $(this).fadeOut('fast',function(){ 
    var bottlersImg=$('.bottlesWrapper img').attr('src'); 
    $(this).attr('src', bottlersImg).fadeIn('fast'); 
    }); 

}); 

ПРИМЕЧАНИЕ: и вам не нужно each петли ... JQuery дозы что при использовании селекторов классов работает.

+0

Не работает :(Его единственный изменяющий источник бутылокWrapper img, а не больших пальцев img – itsMe

+0

обновил мой ответ ... попробуйте его – bipen

+0

Спасибо большое :) Очень полезно – itsMe

1

Поскольку у вас нет метки <a> в .thumb Ваш код не будет работать на всех, а попробуйте нажать сам .thumb:

$('.thumbs').click(function() { 
    var thumbsimgSrc = $(this).find("img").attr('src'); 
    var bottleImgSrc = $('.bottlesWrapper img').attr('src'); 

    $(this).find("img").attr('src', bottleImgSrc); 

    $('.bottlesWrapper img').fadeOut('fast').promise().done(function(){ 
     $(this).attr('src', thumbsimgSrc).fadeIn('fast'); 
    }); 
    }); 
}); 

И .thumb сама коллекция, поэтому вам не нужно перебирать .each() метода.

+0

Это работает .. Спасибо :) – itsMe

+0

@itsMe Спасибо, что посмотрели на это. – Jai

+0

Спасибо, что так много Jai :) – itsMe