[英]Fade in Ajax content after it's fully loaded
我當前的解決方案通過AJAX獲取一些內容,將其插入DIV中,然后將其隱藏並淡入。
問題在於內容包含圖像和iframe,解決方案閃爍,並且fadeIn看起來不流暢。
我想做的只是在iframe和圖片完全加載后fadeIn
。
怎么做?
這將等待所有子內容完成加載:
$("#wrapperDivID").load(function (){
// do something, e.g.
$(this).fadeIn();
});
參見.load() 。
在您的特定情況下,以下方法應該起作用:
$('#content').load('/echo/html/',data, function() {
alert('fired');
});
我會更改fadeIn的持續時間,以便花一點時間。
$("#content").load("getform.php"), function() {
$(this).fadeIn(1500); // or another bigger number based on your load time
});
如果您知道頁面中將包含所有圖像,請將所有這些圖像預加載到具有div“內容”的頁面中,這樣可以節省一些加載時間。
另一種方法是:
$( "#content" ).fadeOut(200, function() {
$(this).load( url, function() {
$(this).fadeIn(200);
});
});
將淡入和淡出時間更改為對您有利的時間。
如果使用$.ajax
來獲取HTML,則可以包裝生成的HTML,如下所示:
$.ajax('some/path/to.html',{
'success':function(html){
var result = $(html).load(function(){
$('#content').fadeIn()
});
$('#content').html(result);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.