2013-04-12 2 views
0

Я ищу функцию, основанную на том, когда фоновое изображение 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> 
+0

Подробнее просьба - что происходит при запуске вашего кода? –

+0

Возможный дубликат: http://stackoverflow.com/questions/5057990/how-can-i-check-if-a-background-image-is-loaded – Dom

+1

Пожалуйста, покажите нам свой HTML-код. Только некоторые типы элементов имеют события onload. Нам нужно посмотреть, какие типы элементов вы используете. Например, я не знаю, как получить событие onload для фонового изображения. Вы можете загрузить изображение вручную в свой собственный объект изображения с помощью JS, а затем после загрузки загрузите его как фоновое изображение. – jfriend00

ответ

1

DIV элемент (ваш <div class="imgframe"> элемент) не есть событие OnLoad так вот почему вы не получаете событие.

Некоторые элементы, имеющие события onload, <image>, <body>, .

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

+0

Это объяснило бы .. спасибо – 2013-04-12 18:19:23

Смежные вопросы