隣り合わせに並んだ3つの画像のギャラリーがあります。まず、中央の画像が大きく、左右の 2 つの画像が小さいです。左の画像をクリックすると(例えば)真ん中と右の画像が100px以上スライドして左の画像が大きくなります。次に、たとえば中央の画像をもう一度クリックすると、3 つの画像が右にスライドし、中央の画像が再び大きくなります。
私が書いたコードはこれまでのところうまくいかないようです。クリックすると外側のdivが拡大しますが、再び縮小することはなく、中央のdivはクリックしても何もしません。
誰かが私のコードの何が問題なのか教えてもらえますか:
if($('.main_image').hasClass('active_image')){
$('.second_image').click(function () {
$('#images_holder').animate({
left: "+100"
});
$('.main_image').removeClass('active_image') ;
$(this).addClass('active_image');
});
}
if($('.main_image').hasClass('active_image')){
$('.third_image').click(function () {
$('#images_holder').animate({
left: "-100px"
});
$('.main_image').removeClass('active_image') ;
$(this).addClass('active_image');
});
}
if($('.second_image').hasClass('active_image')){
$('.main_image').click(function () {
$('#images_holder').animate({
left: "0px"
});
$('.second_image').removeClass('active_image') ;
$(this).addClass('active_image');
});
}
if($('.second_image').hasClass('active_image')){
$('.third_image').click(function () {
$('#images_holder').animate({
left: "-100px"
});
$('.second_image').removeClass('active_image') ;
$(this).addClass('active_image');
});
}
if($('.third_image').hasClass('active_image')){
$('.main_image').click(function () {
$('#images_holder').animate({
left: "0px"
});
$('.third_image').removeClass('active_image') ;
$(this).addClass('active_image');
});
}
if($('.third_image').hasClass('active_image')){
$('.second_image').click(function () {
$('#images_holder').animate({
left: "+100px"
});
$('.third_image').removeClass('active_image') ;
$(this).addClass('active_image');
});
}
ここに私の作品の JSfiddle があります: http://jsfiddle.net/QS3BW/3/