7

私は 1 つの大きな画像と小さな親指を持っています。それらの src を互いに交換しようとしています。ここでは、bottleWrapper img の親指の img を変更していますが、src を交換したいと考えています。助けてください!

HTML

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

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

脚本

<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>

編集

皆さんありがとう :)

私は実際に、さまざまな親指を持っているという情報を 1 つ提供するのを忘れていました。この回答が最も適しています。皆様、貴重なご意見ありがとうございます!

$('.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;
    });
});
4

4 に答える 4

6

画像をスワップするには、次のようにします。

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

于 2013-03-29T06:10:52.373 に答える
3

<a>あなたの質問にはタグがありません..だから、 img..親指をクリックすると..スワップされると仮定しますbottlesWrapper..

これを試して

更新しました

 $('.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線量..

于 2013-03-29T06:10:56.653 に答える
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()

于 2013-03-29T06:16:14.593 に答える
1

試す:

$('.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

于 2013-03-29T06:10:08.653 に答える