2011-12-06 10 views
2

jqueryを使用して2つの外部ページ(1つはsearch.php、もう1つはinfo.php)にロードします。 user.phpという単一のページにそれぞれを表示していますが、リンクがナビゲーションバーでクリックされている場合にのみ表示されます。外部ページを使用しているときにjqueryが動作しない理由

$(document).ready(function() { 
$('#content_area').load($('.menu_top:first').attr('href')); 
}); 


$('.menu_top').click(function() { 
var href = $(this).attr('href'); 
$('#content_area').hide().load(href).fadeIn('normal'); 

return false; 
}); 

マイページがちらつくと内容を変更する前に2秒間停止したように思える:私は、スクリプトのこのセクションを使用する場合残念ながら、私は現在、問題が発生しています。私は気づいた。しかし、私は.hideとフェードインを削除すると正常に動作するようです。どうやってフェードインを使うことができますか?ストールとちらつきをなくしますか?

答えて

2

jQueryは.fadeIn、.hide、および他のエフェクトをエフェクトのキューに追加します。つまり、.hideをエフェクトのキューに送信した直後に.load()を呼び出すだけです。/ .hideが完了していません。

あなたは.hide法にコールバックを行うことができます

$('#content_area').hide(function(){ 
    $('#content_area').load(href).fadeIn('normal'); 
}) 

これは最初の終了する隠すことができます。

1

それがちらつきに役立つかどうかを確認するために.stopを試してみてください:

$('#content_area').hide().stop(true,true).load(href).stop(true,true).fadeIn('normal'); 
0

フェードアウトのための代わりにfadeInまたはfadeOut

の使用animateをちらつくため

$("youeSelector").animate({ opacity: 0 }, 'slow'); 

をフェードインするために
$("youeSelector").animate({ opacity: 1 }, 'slow'); 

2番目の問題が解決するまでは、スクリプトファイルを2回含まないようにしてください。