クリックしたいボタンがあります(私の場合、これは「.circle」です)。クリックすると、#data div がフェードインし、「margin-top:50px」でアニメーション化します。次に、ユーザーがトグル ボタンを 2 回クリックすると、「margin-top:0px」にアニメーション化されてからフェードアウトします。
ただし、私が遭遇した問題は、トグルを 3 回クリックすると、最初の機能が再度実行されることを期待することです。しかし、代わりに、最初の関数が再度実行される前に、奇妙なことを行い、50px のマージントップにリセットします。
これについて何か助けていただければ幸いです。これは、同じコードで作成した JSFiddle です。複数回クリックすると、問題が発生することがわかります。また、別の問題は、最初にクリックしたときに機能せず、2回目のクリックで機能することでした。
以下のjqueryのビットも投稿します:
$(".button").click(function(){
$(".button").toggle(
function(){
$("#showme").fadeIn(500,
function(){
$("#showme").animate({ "margin-top" : "50px" }, 500, 'linear');
}
);
},
function(){
$("#showme").animate({ "margin-top" : "0px" }, 500, 'linear',
function(){
$("#showme").fadeOut(500);
}
);
});
});