2012-05-10 2 views
7

Что такое хороший способ затухания контента div, но сохраняя div готовым к новому контенту?Fadeout + пустой div, а затем положить новый контент в

С

$('#info').html('').fadeOut(500); 
or 
$('#info').fadeOut(500).html('').show(); 

Содержание ДИВ просто исчезает, а новое содержание не показывает

С

$('#info').fadeOut(500); 

сНу затухает, как положено, но любой новый контент не отображается

ответ

14
$('#info').fadeOut(500, function() { 
    $(this).empty().show(); 
}); 
+6

+1 для использования 'empty()' вместо 'html ('')', так как для этого он есть. – Madbreaks

+0

Приятно узнать что-то новое;) – mowgli

+0

Каким будет метод для установки содержимого в div и затемнения его? EDIT: Ах получил: $ ('# info'). Hide(). Html ('новое содержимое'). FadeIn (200); Это лучший способ? – mowgli

2

Использовать обратный вызов fadeOut:

$('#info').fadeOut(500, function() { 
    $('#info').html("New Content").show(); 
}); 
+1

Вы можете использовать '$ (this)' вместо того, чтобы снова найти элемент. :) –

+0

Это работает. Но html («Новый контент») должен быть html ("") – mowgli

5
$('#info').fadeOut(500, function() { 
    $(this).html('').show(); 
}); 

будет ждать до тех пор, пока DIV утрачен перед emtying его!