Ось невеликий плагін, який я створив, щоб дозволити вам зробити саме це, він також працює на декількох фонових зображеннях та на декількох елементах:
Прочитати статтю:
http://catmull.uk/code-lab/background-image-loaded/
або перейдіть прямо до коду плагіна:
http://catmull.uk/downloads/bg-loaded/bg-loaded.js
Отож просто включіть плагін і викличте його на елементі:
<script type="text/javascript" src="http://catmull.uk/downloads/bg-loaded/bg-loaded.js"></script>
<script type="text/javascript">
$('body').bgLoaded();
</script>
Очевидно завантажте плагін і зберігайте його на власному хостингу.
За замовчуванням він додає додатковий клас "завантажений bg" до кожного відповідного елемента після завантаження фону, але ви можете легко змінити це, передавши йому іншу функцію, як це:
<script type="text/javascript" src="http://catmull.uk/downloads/bg-loaded/bg-loaded.js"></script>
<script type="text/javascript">
$('body').bgLoaded({
afterLoaded : function() {
alert('Background image done loading');
}
});
</script>
Ось кодекс, що демонструє його роботу.
http://codepen.io/catmull/pen/Lfcpb
Image()об’єкту, який маєonloadподію.