私のウェブサイトで複雑な(私にとって)関数を書こうとしています。私は3行あり、それぞれに画像が含まれていました。ホバー時に、この画像の背景位置を変更したい、それだけです。ユーザーがこの画像をクリックすると、親 div の高さが拡大し、画像の高さが拡大し、その背景位置が変更されます。
この機能が完了したら、別の画像をクリックします. 前の画像を元のサイズに縮小したいと思います. これは説明が難しいので、jsfiddle デモを作成しました.
また、jqwuery を初めて使用するので、関数が肥大化しているように見えることを少し心配しています。これは悪い習慣ですか、それとも問題ないように見えますか?
// On work showcase click, expand area to show information
$('.work-showcase').click(function(){
if ( !$(this).hasClass('active') ){
$(this).addClass('active');
$('.work-showcase').animate({height:'135px'}, 500);
$(this).find('ul li').animate({height:'350px'}, 500);
$(this).find('ul li').css({
'background-position':'bottom left',
'background-size' : 'auto auto'
});
$(this).find('ul li img').animate({height:'350px'}, 500);
$(this).animate({height:'400px'}, 500,function() {
$("html, body").animate({ scrollTop: $(this).offset().top });
});
} else { return false;};
});
デモ