等待ajax操作上的图像满载
Wait for image full load on ajax action
在我的页面上有一个ajax
操作,它加载div
,左边包含图像,右边包含文本。
问题是:首先是文本加载,在左边(左对齐),然后是图像加载,文本在右边移动,这看起来真的很不平滑。
我试过类似的东西:
$('div#to_load').ready(function() {
$('div#to_load').fadeIn();
});
但这无济于事。
我能做什么?
更新
我认为你必须尝试这个技巧在这里找到:
$("<img />", { src:"thelinkofyourimage"}).appendTo("div#to_load").fadeOut(0).fadeIn(1000);
看看这把小提琴:http://jsfiddle.net/qYHCn/.
您可以像一样跟踪所有图像何时加载
var element = $('div#to_load');
var images = element.find('img');
var count = images.length;
for( var i = 0; i < count; i++) {
$(images[i]).load(function(){
count--;
if( count === 0 ){
element.fadeIn();
}
});
}
您可以使用jQuery顺利地将其动画化(当您使用jQuery进行ajax请求时,这很方便):
jQuery
$("body").prepend('<img src="http://placehold.it/150x150" alt="img">');
$("img").animate({
opacity: 1,
left: 0
}, 700);
CSS
img {
float: left;
margin-right: 0.8em ;
left: -300px;
position: relative;
}
小提琴。
尝试分别加载图像和文本,而不是同时加载。
对于移位问题,将图像放入另一个div中,并在加载时定义大小。然后文本不能进入图像空间,因为我们已经为图像分区提供了空间。
样本代码
$('#ImageID')
.load(
function(){
//Do stuff once the image specified above is loaded
$('#textId').html('your text');
}
);
如果您不希望内容发生变化,则必须声明图像将占据的大小,以便在浏览器进行渲染时已经考虑到所需的空间。
在加载之前,请确保声明图像的大小或容器的大小
<div id="to_load">
<img src="...." height="400" width="400" />
</div>
或
<div id="to_load" style="height:400px;width:400px;overflow:hidden">
..dynamic content
</div>
不管怎样,在img元素或样式表中声明图像大小是的最佳实践建议
回流&重新喷涂
也许你想要这样的
#to_load {
width: 523px;
height: 192px;
}
#to_load img {
display: none;
}
setTimeout(function() {
$("<img />", { src:"http://ejohn.org/apps/workshop/adv-talk/jquery_logo.png"})
.on('load', function(){
$(this).appendTo("#to_load").fadeIn(500);
});
},1000);
http://jsfiddle.net/AWntU/
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使图像在单击时展开到不大于浏览器
- Html页面上的多个Base64图像和平滑加载
- UIAutomation放大图像
- 使用javascript在Flash中加载外部图像
- 可以在这里为背景图像设置滤镜吗
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 使用 js 将背景图像设置为 HTML
- Javascript将图像src更改为淡入淡出
- 无法在本地计算机中将画布另存为图像
- 压缩phonegap中ios的图像插件
- 等待ajax操作上的图像满载