缓存导致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.');
});