我以为我使用的这段代码可以工作,但是只能工作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/

10-05 20:47
查看更多