2009-11-24 2 views
0

Я использую функцию .load для загрузки на другой странице с помощью jQuery.Могу ли я объединить функцию .load с fadeIn в jQuery?

Вот мой код:

$('#page1').click(function(){       
    $("#content").load("page1.html"); 
}); 

Это работает прекрасно, но я хотел бы, чтобы исчезнуть в новой странице. В любом случае, я могу комбинировать функцию загрузки и fadeIn? Я попытался это сделать, но он не работает.

Вот моя попытка:

$('#page1').click(function(){       
    $("#content").load("page1.html").fadeIn("normal"); 
}); 

Как я могу объединить .load и функцию .fadeIn?

ответ

7

Звонок load будет использовать AJAX и будет выполняться асинхронно. Вы захотите исчезнуть сразу после завершения вызова. Вы можете добиться этого, передав обратный вызов для загрузки. Ваш код будет выглядеть следующим образом:

$('#content').load("page1.html", {}, function() { $(this).fadeIn("normal"); })); 

См documentation on jQuery's .load() для получения дополнительной информации.

3

Скрыть #content перед загрузкой и исчезать во всем div, когда нагрузка завершена. Я бы предположил, что загрузка acceps вызывает функцию обратного вызова ...?

$('#content').hide(); 
$('#content').load('page1.html', function() { $('#content').fadeIn('normal'); }); 

EDIT делать то, что Мигелем сказал, в любом случае =)