私が持っていたこのコードは機能すると思っていましたが、50% しか機能しませんでした。幅を 0 から 200px にアニメートする場合は機能しますが、その逆の場合は機能しません。
これは機能します:$('#left').animate({"width": "200px"}, "1000").show();
しかし、これはしません:$('#left').animate({"width": "0px"}, "1000").hide();
私は何を間違っていますか?
私が持っていたこのコードは機能すると思っていましたが、50% しか機能しませんでした。幅を 0 から 200px にアニメートする場合は機能しますが、その逆の場合は機能しません。
これは機能します:$('#left').animate({"width": "200px"}, "1000").show();
しかし、これはしません:$('#left').animate({"width": "0px"}, "1000").hide();
私は何を間違っていますか?
アニメーションが完了したら非表示にします。
$('#left').animate({"width": "0px"}, "1000", function () {
$(this).hide();
});
その理由は、animateが非同期で起動し、すぐにhideが呼び出されて、それが消えてしまうためです。それを完全なコールバックに入れると、望ましい効果が得られます。
更新されたフィドルを参照してください:http://jsfiddle.net/nV5Tu/12/