div のコンテンツを置き換えてから表示したい
$("#btn").click(function () {
$('#div01').load('about.php');
$("#div01").slideDown("slow");
});
ただし、コンテンツが変更される前に div が表示されるため、ユーザーは以前のコンテンツを見ることができます。これは考えではありません。
関数の 2 番目のパラメーターはload()
、コールバック関数として使用できます。したがって、slideDown()
ロードが完了したときにのみ発生します。
$("#btn").click(function () {
$('#div01').load('about.php', function(){
$("#div01").slideDown("slow");
});
});
これを試して:
$("#btn").click(function () {
$('#div01').load('about.php',function(){
setTimeout(function(){$("#div01").slideDown("slow")},100);
});
});
.load()
はajax関数なので、ajaxが次のように完了した後に取得してみてくださいjQuery.ajaxComplete()
:
$("#btn").click(function () {
$('#div01').load('about.php');
});
$.ajaxComplete(function(){
$("#div01").slideDown("slow");
});