2011-09-15 15 views
1

ユーザーがタブを切り替えると、タブに基づいてコンテンツを即座に読み込むことができます...タブをクリックすると新しいページが読み込まれますが、新しいものがロードされる前に0.5秒、それは奇妙に見える。私が間違っていることは何か考えていますか?ありがとう:)jqueryの遅延の問題

私は問題が何とかload()にあると信じています。hide()。fadeIn()しかし、私はそれを読むことから遅れなく即座に行くはずです...それはシームレスに自分のlocalhostしかし、hostgator上では、異なるタブをクリックすると遅延がありますか?

答えて

1

load()は非同期なので、呼び出したときにすぐに戻ります。これはおそらく、古いコンテンツが表示されているという問題を引き起こしているのでしょう。つまり、ロードが完了する前に古いバージョンのコンテンツを隠してしまいます。皮は/フェードアウトするように、load()にコールバックを渡すことができ、負荷が非常に似finshedた後に実行します。

$('#populate').load('advanced.php', function() { 
    $('#populate').hide().fadeIn(); 
}); 
+1

+1また、一つの方法は、 'beforeSend'のオプションで' ajax'を使用することです。そこで、ある種の読み込みアイコンが表示されます。 –

+0

それは良い点です。私は '.load()'はブラウザのスピナーを通常のページロードの場合と同じように回転させますが、ユーザーにもっとフィードバックを与えたい場合は 'beforeSend'に入れておくのが良い方法です。 –