我有一个包含 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/