0

次の完了の間に発生する遅延に問題があります。

var href = $('.mainNav').data('href');
$('#slideshow').load(href);   

これにより、ソートされていないリストのみを含むファイルが呼び出され、#slideshowのコンテンツとして配置されます。その部分は$(document).ready関数にあります。

次のコードは、プラグインjCarouselを呼び出して#slideshowのコンテンツのスタイルを設定し、$(document).ready関数の外にあります。

$(window).bind('load', function () {
  $('#mycarousel').jcarousel();
});

私が抱えている問題は、リストがロードされてから、プラグインが完全にスタイルが設定されていないリストをフォーマットするまでにわずかな遅延があることです。リスト自体が表示される前に2番目のコードを実行する方法はありますか?

4

1 に答える 1

0

CSS で非表示にできます。

#mycarousel {
  display: none;
}

jcarousel がセットアップされたら、それを表示します。

$(window).bind('load', function () {
  $('#mycarousel').jcarousel();
  $('#mycarousel').show();
});

また、でロードイベントをトリガーしないため、で使用$(window).bind('load', ...)しているのは奇妙だと思います。おそらく、次のようなコールバックを使用する必要があります。.load().load()window.load()

$('#slideshow').load(href, function () {
  $('#mycarousel').jcarousel();
  $('#mycarousel').show();
});
于 2012-08-08T02:17:00.033 に答える