0

我希望根据 div 的背景图像何时加载来运行一个函数。我错过了什么?

查询

$(function () { 
    $('.productnew .imgframe').each(function () { 
        $(this).load(function () { 
            $(this).attr("style", $(this).attr("style").replace("background:", ""));
            $(this).attr('style', 'background:url(images/new.png), ' + $(this).attr('style')); 
        }); 
    }); 
});

HTML

<div class="poster productnew"><div class="imgframe" style="background:url(images/posters/bicycle.jpg);"></div>
4

1 回答 1

1

div 元素(您的<div class="imgframe">元素)没有 onload 事件,这就是您没有收到该事件的原因。

一些具有 onload 事件的元素是<image>, <body>, <iframe>.

如果您需要知道该特定图像何时加载以触发其他代码,您可以使用 javascript 手动将图像加载到图像对象中,然后当 onload 事件触发时,您将知道图像已加载并且您可以触发其他事件(将其设置为背景 URL 或您想做的任何其他事情)。

于 2013-04-12T18:18:18.143 回答