在图像加载时删除背景图像

Ste*_*ven 1 javascript css jquery dom image

我正在通过 AJAX 加载图像标签,并使用.html(content)jQuery 中的常规函数将它们与一堆其他 HTML 一起插入。但是,如果您从头开始加载页面,这个问题仍然适用。现在,我有一个背景图像占位符可以在图像加载时放在那里。我希望这个背景图像在图像加载时消失。

问题:

如果我附加一个传统的.load(function)事件侦听器,我担心图像可能会在应用钩子之前加载(将钩子放在<script>图像之后的小 JS 中而不是$(function(){})块中可能会有所帮助)。我还没有遇到过这种行为,但我不知道规范中的任何内容可以防止这种情况发生(因为应该在应用钩子之前完全解析图像标签)。

我目前的解决方案。将命令放在onload=图像标签内的内联属性中。

有没有更好的办法?

Dou*_*ner 5

直到大约一周前,我也会迷路。谢天谢地,这个对另一个问题的回答将帮助你:

基本上把这个放在$()

$(function(){ 
   var img = $("#idofimage").load(function () { 
      /* your magic to swap out placeholder */ 
   });

   if (img[0].complete) {
     // Trigger the load handler if the image
     // is already loaded
     img.trigger('load');
   }

});
Run Code Online (Sandbox Code Playgroud)