jQuery API 文档show()
指出,从 jQuery 1.4.3 开始,可以这样调用.show()
:
.show( [duration ] [, easing ] [, complete ] )
论据是:
duration
(默认值:400):一个字符串或数字,确定动画将运行多长时间。easing
(默认值:swing):一个字符串,指示用于过渡的缓动函数。complete
:动画完成后调用的函数。
我不需要缓动,所以我只调用这个版本:
.show( [duration ] [, complete ] )
我有一个函数应该显示一个 div,等待 5 秒,然后在 500 毫秒内淡出。
我试过这个:
$('#some_div').show( {
duration: 5000,
complete: function() { fadeOutHelper(500); }
} );
还有这个:
$('#some_div').show(5000, function() { fadeOutHelper(500); } );
在这两种情况下,show()
实际上都不会在调用辅助函数之前等待 5000 毫秒。
我在 StackOverflow 上找到了一种解决方法setTimeout()
:jQuery show for 5 seconds then hide
$('#some_div').show();
setTimeout(function() { fadeOutHelper(500); }, 5000);
虽然我有一个解决方法,但我想了解我是如何误解 jQueryshow()
文档中一些非常简单的函数参数的。