我想在选择器上完成图像加载后执行功能。我该如何完成这项任务?
keyframes()
答案 0 :(得分:1)
您可以使用onload
事件处理程序,而无需Promise。
下面的代码加载图像,加载完成后将显示大小,并在2秒钟后调整图像大小。延迟仅用于演示目的,因此您可以看到正在调整图像大小。通常,您会使用image.onload = SetDimensions;
。
var image = $("#img")[0];
image.onload = ShowThenSetDimensions;
image.src = "https://www.gravatar.com/avatar/0a88079f9234aca9f67c04bf7b94eca4?s=32&d=identicon&r=PG&f=1";
function ShowThenSetDimensions() {
console.log("Size: " + image.naturalWidth + " x " + image.naturalHeight);
console.log("SetDimensions will be called in 2 seconds");
window.setTimeout(SetDimensions, 2000);
}
function SetDimensions() {
image.style.width = image.naturalWidth + "px";
image.style.height = image.naturalHeight + "px";
console.log("SetDimensions done");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img id="img" style="width:10px; height:10px">
答案 1 :(得分:-2)
请尝试使用此代码,
$("#svg_image").load().then(function(){
resolve({width: $(this).naturalWidth, height: $(this).naturalHeight})
});
答案 2 :(得分:-5)
我认为您可以像这样使用setTimeout:
setTimeout(function(){
// your code
}, 3000); //3 sec
所以3秒钟后加载图片