Javascript ('load')函数在Firefox上可用,但在Safari/iOS或Chrome上不可用?
我不确定原因,但在Safari/iOS和Chrome浏览器中,这个特定功能似乎都不起作用:Javascript ('load')函数在Firefox上可用,但在Safari/iOS或Chrome上不可用?,javascript,jquery,function,google-chrome,safari,Javascript,Jquery,Function,Google Chrome,Safari,我不确定原因,但在Safari/iOS和Chrome浏览器中,这个特定功能似乎都不起作用: $(window).on('load',function(){ $('#preloader').fadeOut(800).hide(); $('#preload').fadeIn(800).css('display', 'initial').show(); }); 我当前已将脚本插入标记之前。有人能解释为什么会发生这种情况吗 更新: $window.on'load',函数{ $预加载程序.fa
$(window).on('load',function(){
$('#preloader').fadeOut(800).hide();
$('#preload').fadeIn(800).css('display', 'initial').show();
});
我当前已将脚本插入标记之前。有人能解释为什么会发生这种情况吗
更新:
$window.on'load',函数{
$预加载程序.fadeout 800.hide;
$'preload'.fadeIn800.css'display','initial'.show;
};
.预载包装{
宽度:100%;
高度:自动;
显示:块;
保证金:0自动;
文本对齐:居中;
线高:0;
}
预紧器{
利润率:40px0;
填充:0;
边界:0;
宽度:45px;
高度:45px;
}
预载{
显示:无;
}
img{
宽度:100%;
高度:自动;
}
也许这些显示和隐藏元素的多种方法是原因之一。我没有任何可以确定的IOS设备 如果您希望延迟,并且一个接一个地淡出,请尝试以下方法:
$(window).on('load',function(){
setTimeout(function(){
$('#preloader').fadeOut(800, function(){
$('#preload').fadeIn(800); // FadeIn after fadeOut complete.
});
},800); // delay from the load event and the fadeOut.
});
为什么使用淡出时使用隐藏,使用淡出时使用显示。但是,请看这里: $document.readyfunction{ $preload.fadeout 800,功能{ $preload.fadeIn800 }; }; 预载{ 显示:无; } 预载物含量 预加载内容
如果改用$document.ready,是否有效?@Barmar否。除非我使用$window.on'load',函数,否则此预加载功能不会激活;但即便如此,尽管它在Firefox上也能工作,但fadeOut和fadeIn调用似乎在Safari或Chrome中无法执行……我不明白当你在同一个元素上同时拥有fadeOut和hide时,你想做什么。fadeOut的意思是慢慢隐藏,但立即隐藏。fadeIn、css“display”、“initial”和“show all”显示元素。在Chrome on OS X上对我有效。我认为加载事件发生在加载DOMContentLoaded之后。那么,为什么在早期事件中效果更好呢?fadeIn应该处于预加载状态,而不是预加载状态。@csskevin,谢谢。这是与我所寻找的最接近的解决方案。我必须稍微处理一下,但这似乎是一个更好的方法。