0

私はこれを持っています:

$(document).ready(function() {
    $('#div').hide();
    $('#div').waitForImages(function() {
        $('#div').fadeIn();
    });
})

これは、ユーザーが最初にサイトにアクセスしたときに完全に機能します。ただし、更新時には、キャッシュが原因でちらつきが多く発生します。$('#div').hide();ドキュメント全体でをいくつかの異なる場所に移動しようとしましたが、結果は同じです。私も$(window).load()代わりに試しまし$(document).load()たが、役に立ちませんでした。もちろん、display: noneCSSで設定した場合、ちらつきはありませんが、これはJavaScript以外のユーザーにとってサイトが壊れていることを意味します。また、JavaScriptを介してCSSを設定しようとしました(つまり$(#div).css({'display':'none'});、これは機能しませんでした。方法があるはずです!

4

2 に答える 2

1

このフィドルを試してみてください

$('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.');
});
于 2012-10-01T05:45:19.757 に答える
1

画像を設定する必要がありdisplay: noneます。私はそれが唯一の方法だと感じています。他のユーザーのためにサイトが壊れて<noscript>いる場合は、JSサポートが検出されない場合に状況を修正するスタイルシートへのリンクをタグ内に配置します。

于 2012-10-01T05:30:07.570 に答える