Ste*_*ven 1 javascript css jquery dom image
我正在通过 AJAX 加载图像标签,并使用.html(content)jQuery 中的常规函数将它们与一堆其他 HTML 一起插入。但是,如果您从头开始加载页面,这个问题仍然适用。现在,我有一个背景图像占位符可以在图像加载时放在那里。我希望这个背景图像在图像加载时消失。
问题:
如果我附加一个传统的.load(function)事件侦听器,我担心图像可能会在应用钩子之前加载(将钩子放在<script>图像之后的小 JS 中而不是$(function(){})块中可能会有所帮助)。我还没有遇到过这种行为,但我不知道规范中的任何内容可以防止这种情况发生(因为应该在应用钩子之前完全解析图像标签)。
我目前的解决方案。将命令放在onload=图像标签内的内联属性中。
有没有更好的办法?
直到大约一周前,我也会迷路。谢天谢地,这个对另一个问题的回答将帮助你:
基本上把这个放在$():
$(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)