延迟js函数的执行
delay the execution of a js function
我编写了一个函数在框的中心显示图像。然而,当图像被加载时,它带有一些默认的样式,包括位置信息。调用中心图像函数本质上与图像加载同时发生,但它在图像完全加载之前完成。这将导致center image函数的副作用被图像的默认样式覆盖,从而导致图像没有被放置在框的中心。
我想知道我是否可以延迟执行中心图像函数来解决这个问题。有人告诉我如何延迟js函数的执行吗?非常感谢。
您可以使用setTimeout
延迟函数的执行,但我不认为这是您想要的,因为您可以侦听何时加载图像。
if(image.complete) {
// already finished loading
}else{
image.onload=function() {
// loaded
};
}
在img
的onload
事件上调用"center image"函数
<img src="<>" onload="centerImage()" />
如果您正在使用jQuery javascript库,您可以使用以下代码片段来运行所有图像加载后的代码:
$(window).load(function(){
//initialize after images are loaded
});
代替"window"(页面上所有图片都已加载),也可以直接选择图片
相关文章:
- 如何做到这一点,使代码在不传递条件后执行函数
- javascript自执行函数-不同的语法
- JavaScript:只有当数组中的所有项都为true时才执行函数
- iFrame url更改时执行函数
- 为什么AngularJS在每个摘要循环上都执行函数
- 如何使用setInterval执行函数
- 当*ngFor以角度2结束时执行函数
- Ajax调用完成后如何执行函数
- 在显示引导弹出窗口之前执行函数
- 从自执行函数返回函数的Javascript性能命中率
- 在操作完成时执行函数
- jquery/js中的自执行函数
- 如何仅在完成对gap.client.youtube的请求.execute后执行函数
- 构造函数函数中的自执行函数的OO上下文/范围
- Javascript未使用=运算符执行函数
- AngularJS:如何按照预定义的顺序执行函数
- 在不使用隔离作用域的情况下执行函数的角度指令
- 如何在页面加载后执行函数是在 AngularJS 中完成的
- 完成页面加载后执行函数
- 如何在完成完全执行函数后触发循环