問題は全体的に私が修正したヘッダーがあり、それに応じて移動する必要のあるdivがあることです。 3〜4回のように本当に速くクリックするとアニメーションがうまくいけなくなり、内容の中に「アンダー」のdivが表示されてしまうという問題があります。アニメーションやスライドの前にストップを使用します。私はキューなどを使用してみました..役に立たない。アニメーションのjQueryオーバーラッピング問題
$(".header").click(function() {
$header = $(this);
$content = $header.next();
$content.stop().slideToggle(500, function() {
if(($('.lol').css('margin-top')) == '47px')
{
$(".under").stop().animate({'margin-top': "100px"}, 500)
}
else
{
$(".under").stop().animate({'margin-top': "47px"}, 500)
}
});
});
https://jsfiddle.net/zddzvxLy/8/
ここで問題を表示jsfiddleです。ヘッダに本当に速いし、「これ1は、コンテンツ内に表示されます」の下でなければならない数回クリックしてみてください要素が既にアニメーション化されているときanimate()
を呼び出す
申し訳ありませんが、私は、コードをより理解しやすいだろう下に笑からすべてを変更したいと1という逃しました。とにかく、停止(真、真)は問題を解決しません。 – Argus
私の例(あなたのフィドルのリビジョン10)では、問題はもはや解決されません。 – Dutchie432
問題が解決されたように見えます。ありがとうございました。私はそれが許されるとすぐにこの答えを受け入れるでしょう。 私は停止の文書をチェックし、これは今明らかになった。 .stop([clearQueue] [、jumpToEnd]) ありがとう! – Argus