Запустить функцию после загрузки div фонового изображения

Я хочу запустить функцию, основанную на том, когда загружается фоновое изображение div. Что мне не хватает?

Jquery

$(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>

1 ответ

Элемент div (ваш <div class="imgframe"> element) не имеет события onload, поэтому вы не получаете событие.

Некоторые из элементов, которые имеют события загрузки <image>, <body>, <iframe>,

Если вам нужно знать, когда это конкретное изображение загружается для запуска другого кода, вы можете загрузить изображение вручную, используя javascript, в объект изображения, а затем, когда сработает событие onload, вы будете знать, что изображение загружено, и вы можете инициировать другие события. (установите его как фоновый URL или что-то еще, что вы хотели сделать).

Другие вопросы по тегам