2012-05-10 39 views
7

Cách tốt nhất để làm mờ đi nội dung của div, nhưng vẫn giữ div sẵn sàng cho nội dung mới?Fadeout + bỏ trống div và sau đó đặt nội dung mới vào

Với

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

Nội dung div chỉ biến mất, và nội dung mới không hiển thị

Với

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

Các div mất dần như mong muốn, nhưng bất kỳ nội dung mới không hiển thị

Trả lời

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

+1 để sử dụng 'empty()' thay vì 'html ('')' vì đó là những gì nó có. – Madbreaks

+0

Rất hay để tìm hiểu điều gì đó mới mẻ;) – mowgli

+0

Phương pháp đặt nội dung thành div và làm mờ nó là gì? EDIT: Ah đã nhận nó: $ ('# info'). Hide(). Html ('nội dung mới'). FadeIn (200); Đó có phải là cách tốt nhất không? – mowgli

2

Sử dụng chức năng gọi lại của fadeOut:

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

Bạn có thể sử dụng '$ (this)' thay vì tìm lại thành phần. :) –

+0

Nó hoạt động. Nhưng html ("Nội dung mới") phải là html ("") – mowgli

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

Sẽ đợi cho đến khi div bị mờ dần trước khi nạp nó!

Các vấn đề liên quan