使用jquery延迟预加载程序淡出



我看到这里有很多关于这方面的问题,但我似乎无法在我的网站中正确实现它。我正在尝试让我的预加载程序在淡出之前运行gif的长度(3秒(。我的代码是

jQuery(document).ready(function($) {
$(window).load(function(){
jQuery('#preloader').fadeOut('slow',function(){jQuery(this).remove();});
});
});

我知道我可能应该使用setTimeout,但我似乎想不通。有什么建议吗?

我意识到我的代码在页面加载时执行淡出,而不是在一段时间后执行,但在实现后者时遇到了困难。

由于fadeOut()使用jQueryfx队列,您可以使用delay()来实现这一点:

jQuery($ => {
$(window).on('load', () => {
$('#preloader').delay(3000).fadeOut('slow', function() {
$(this).remove();
});
});
});

或者,您可以使用问题中提到的setTimeout()

jQuery($ => {
$(window).on('load', () => {
setTimeout(() => {
$('#preloader').fadeOut('slow', function() {
$(this).remove();
});
}, 3000);
});
});

最新更新