jQuery如何在选择器上加载图像后执行功能?

时间:2019-04-05 11:51:59

标签: javascript jquery

我想在选择器上完成图像加载后执行功能。我该如何完成这项任务?

keyframes()

3 个答案:

答案 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秒钟后加载图片