缓存导致jQuery fadeIn上闪烁
我有这个:缓存导致jQuery fadeIn上闪烁,jquery,fadein,flicker,waitforimages,Jquery,Fadein,Flicker,Waitforimages,我有这个: $(document).ready(function() { $('#div').hide(); $('#div').waitForImages(function() { $('#div').fadeIn(); }); }) 当用户第一次访问该站点时,这种方法非常有效。然而,在刷新时,由于缓存,会有很多闪烁。我已尝试移动$('#div').hide()在整个文档中的几个不同位置,但结果是相同的。我还尝试了$(window.load()而不是$
$(document).ready(function() {
$('#div').hide();
$('#div').waitForImages(function() {
$('#div').fadeIn();
});
})
当用户第一次访问该站点时,这种方法非常有效。然而,在刷新时,由于缓存,会有很多闪烁。我已尝试移动
$('#div').hide()
在整个文档中的几个不同位置,但结果是相同的。我还尝试了$(window.load()
而不是$(document.load()
),但没有任何帮助。当然,如果我在CSS中设置了display:none
,那么就不会出现闪烁,但这意味着对于非JavaScript用户,该站点已被破坏。我还尝试通过JavaScript设置CSS(即$(#div).CSS({'display':'none'))
但这不起作用。一定有办法!你需要为图像设置显示:无。我觉得这是唯一的出路。关于网站被其他用户破坏的问题,请在
标记中添加一个样式表链接,如果没有检测到JS支持,可以纠正这种情况。试试这个
$('body')。waitForImages(
函数(){
$('body')。追加('p>加载的图像。');
},函数(已加载,总计){
$(this.css)({
边框:“1px实心#ccc”
});
$('span').html(parseInt(已加载/总计*100)+'%loaded');
});
在标签上检查这个好的调用。您可能想提到这需要一个插件。
$('body').waitForImages(
function() {
$('body').append('<p>Images loaded.</p>');
}, function(loaded, total) {
$(this).css({
border: '1px solid #ccc'
});
$('span').html(parseInt(loaded / total * 100) + '% loaded.');
});