使用 jquery 延迟预加载器淡出
Delay a preloader fadeout with jquery
我看到这里有很多关于此的问题,但我似乎无法在我的网站中正确实施它。在淡出之前,我试图让我的预加载器达到 gif 的长度(3 秒)运行。我的密码是
jQuery(document).ready(function($) {
$(window).load(function(){
jQuery('#preloader').fadeOut('slow',function(){jQuery(this).remove();});
});
});
我知道我应该使用 setTimeout,但我似乎无法弄明白。有什么建议吗?
我意识到我的代码在页面加载时而不是在加载后执行淡出,但在实现后者时遇到了麻烦。
由于 fadeOut()
使用 jQuery fx
队列,您可以使用 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);
});
});
我看到这里有很多关于此的问题,但我似乎无法在我的网站中正确实施它。在淡出之前,我试图让我的预加载器达到 gif 的长度(3 秒)运行。我的密码是
jQuery(document).ready(function($) {
$(window).load(function(){
jQuery('#preloader').fadeOut('slow',function(){jQuery(this).remove();});
});
});
我知道我应该使用 setTimeout,但我似乎无法弄明白。有什么建议吗?
我意识到我的代码在页面加载时而不是在加载后执行淡出,但在实现后者时遇到了麻烦。
由于 fadeOut()
使用 jQuery fx
队列,您可以使用 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);
});
});