私はjQueryにかなり慣れていないので、次のように質問します。
3つのdivで動作する3つの条件付きアニメーションがあります。
var viewport = $(window).width();
if ( viewport < 1400 ) {
$("#panel").animate({marginLeft:"-175px"}, 500 );
$("#colleft").animate({width:"0px", opacity:0}, 400 );
$("#showPanel").show("normal").animate({width:"28px", opacity:1}, 200);
$("#colright").animate({marginLeft:"50px"}, 500);
}else{
$("#colright").fadeIn('slow').animate({marginLeft:"200px"}, 200);
$("#panel").fadeIn('slow').animate({marginLeft:"0px"}, 400 );
$("#colleft").fadeIn('slow').animate({width:"190px", opacity:1}, 400 );
$("#showPanel").animate({width:"0px", opacity:0}, 600).hide("slow");
}
ご覧のとおり、これはビューポートに基づいてアニメーションを実行しています。
$(window).resize(function() {
これらの条件をとで繰り返す必要があり$("#hidePanel").click(function(e){
ます。
コードを繰り返す必要がありますか、それとも変数に割り当てることができますか?
編集
次の関数は、条件付きで機能しません。
function collapseMenu(){
$("#panel").animate({marginLeft:"-175px"}, 500 );
$("#colleft").animate({width:"0px", opacity:0}, 400 );
$("#showPanel").show("normal").animate({width:"28px", opacity:1}, 200);
$("#colright").animate({marginLeft:"50px"}, 500);
}
if ( viewport < 1400 ) {
collapseMenu();
}