jQuery-预加载程序无法在CSS上延迟

问题描述

我想知道为什么最后一行$('body').delay(500).css({'overflow-y':'auto'});不会延迟正文的CSS更改。这是给我的预加载器的。我对Javascript / jquery非常陌生。希望有人能帮助我。如果您还有其他改进脚本的技巧,请随时这样做!

$(window).on('load',function() {
  $('#preloader svg').fadeOut(200);
  $('#preloader-container').delay(200).fadeOut(500,'linear'); 
  $('body').delay(500).css({'overflow-y':'auto'});
})

解决方法

问题是因为css()不使用fx队列,所以delay()对此没有影响。

简单的解决方法是改用超时:

setTimeout(function() {
  $('body').css('overflow-y','auto');
},500);