0

スライドショーのセットの最初の画像が読み込まれるまで、ページのコンテンツをカバーするdivを使用しています。このdivを非表示にするために使用しているコードは次のとおりですが、機能していません。

$(function() {
  $('.slide').first(function() {
    $(this).load(function() {
      $('#loader').fadeOut('slow');
    });
  });
});

なぜですか?「ローダー」divは、ページ全体がロードされた後でも非表示になりません。$('#loader')。fadeOut('slow');の実行に成功しました。on(window).load()。

4

1 に答える 1

1

画像はajaxを介して読み込まれ、DOMが最初に読み込まれるときには存在しません。最初の画像がDOMに追加された後、読み込み中の画像を非表示にしてみてください。

$.each(images, function(index) {
  $('#slideshow').append('<div class="slide" style="background-image:url(' + this + ');"></div>');
  if(index === 0){
    $('#loader').fadeOut('slow');
  }
});
于 2012-11-03T20:06:46.683 に答える