我以为我使用的这段代码可以工作,但是只能工作50%。设置从0到200px的宽度的动画时,它可以工作,但是反之则不起作用。
这有效:$('#left').animate({"width": "200px"}, "1000").show();
但这不是:$('#left').animate({"width": "0px"}, "1000").hide();
我究竟做错了什么?
Here is a JSFIDDLE with all the code
最佳答案
动画完成后将其隐藏:
$('#left').animate({"width": "0px"}, "1000", function () {
$(this).hide();
});
原因是动画会异步触发,然后立即调用hide,从而使其消失。将其放在完整的回调中将为您提供所需的效果。
请参阅更新的小提琴:http://jsfiddle.net/nV5Tu/12/