0

私が最初に考えるのは、コンテナを作成し、ページの読み込みの開始時に画面全体に表示することです.要素はまだプリロードマスクの後ろにロードされています.

    var window_width = $(window).width();
    var window_height = $(window).height();

    $('.pre-modal-window').each(function () {

        var modal_height = parseInt($('.pre-modal-window').css("height"));
        var modal_width = parseInt($('.pre-modal-window').css("width"));

        var top = (window_height - modal_height) / 2;
        var left = (window_width - modal_width) / 2;

        $(this).css({ 'top': top, 'left': left });

    })

        //set display to block and opacity to 0 so we can use fadeTo
        $('#pre-mask').css({ 'display': 'block', opacity: 0 }).fadeTo(50, 1.0);

        //show the modal window
        $('.pre-modal-window').fadeIn(500);

SetInterval() 関数を使用して数秒後に設定が消えました(まあ、それが偽物であることは知っていますが、要素が既にダウンロードされていると判断する方法はわかりません……)。

jqueryプラグインのqueryloaderみたいな感じですが、自分のプロジェクトではうまく動かないので自分で書いてみたいと思います

上記の考えは、ページに要素がほとんどない場合にのみ機能し、要素がますます多くなると、効果が再び機能しなくなります……ページのダウンロードが開始されたときにそれを表示するにはどうすればよいですか?ところで、どうすればよいですか?すべての要素が既にダウンロードされていると判断しますか?ありがとう

4

1 に答える 1

2

ドキュメントの jQuery の .ready() 関数をご覧ください: http://api.jquery.com/ready/

jQuery API から: DOM が完全にロードされたときに実行する関数を指定します。

例は次のとおりです。

<script type="text/javascript">
$(document).ready(function() {
  // hide the loading mask here.
});
</script>
于 2011-03-01T11:53:37.940 に答える