2011-11-24 18 views
6

iPad için bir web görünümü uygulaması oluşturuyorum ve dizin dosyası ve bir dizi resim yüklenip oluşturuluncaya kadar bir açılış ekranı göstermek istiyorum.Html'deki bir görüntü yüklendiğinde ve oluşturulduğunda hazır bir olay gibi bir şey var mı?

Tüm resimler yüklendiğinde ve oluşturulduğunda bu açılış ekranının kaybolmasını istiyorum - böylece kullanıcı, önbelleğe alınmamış görüntülerin tipik görüntü yüklemesini ve oluşturulmasını görmez.

Görüntü işleme için tarayıcılarda yakalanan bir olay var mı, yoksa bunu yapabileceğim herhangi bir Javascript eklentisi var mı?

+1

(http://api.jquery.com/ready/): "Bu olay, görüntüler gibi tüm varlıklar tamamen alınana kadar tetiklenmiyor." ... görünüyordu ($) (belge) .ready() 'yapmalı hile :) – Clive

+0

Aynı belgede aslında diyor resimlerle çalışırken yükü() kullanın. Yine de beni bu sayfaya yönlendirdiğin için teşekkürler! –

cevap

6

İki olay dinleyicisi DOMContentLoaded ve yüklenir. Tüm dosyalar, reklamlar ve resimler dahil olmak üzere tüm kaynaklardan yükleme işlemini tamamladığında yükleme etkinliği tetiklenir. Görüntüler indirme sırasında işlenir, bu yüzden aradığınız şey bu olmalıdır.

demo here

-1

Her görüntü, .load() ekleyebilir ve daha sonra basitçe tüm görüntüleri bir değişken bildirerek yüklendiğinde kontrol edebilirsiniz bakın.

2

senin için dışarı yazacağım:

loadedImages = 0; 
timesChecked = 0; 
checkInterval = 500; 
maxLoadTime = 10000; // in miliseconds 
window.onload = function() { 
    for (var i = 0; i < document.getElementsByName('img').length; i++) { 
    document.getElementsByName('img')[i].onload = function() { 
     loadedImages++; 
    } 
    } 
    intervalID = setInterval("checkSplash()", checkInterval); 
} 

function checkSplash() { 
    timesChecked++; 
    if (loadedImages >= document.getElementsByName('img').length || timesChecked * checkInterval >= maxLoadTime) { 
    clearInterval(intervalID); 
    // hide splash screen 
    } 
} 

Enjoy :)

Aslında oldukça basit: [jQuery `hazır()` docs] Gönderen <img src=".." onload="alert('image 1 is loaded!')" />

+0

Aslında bu çok kötü bir fikir, çünkü tek bir görüntü URL'sini yanlış yazdığınızda, ziyaretçiler açılış ekranını geçemeyecek. Her zaman yüklü değil (hatta sunucu sorunları veya yanlış url) zorlu bir süre sonra açılış ekranını reddeden bir zamanlayıcı yapmak olabilir bir zamanlayıcı OLMAYACAKSINIZ – BronzeByte

+0

Bu tek bir görüntü için çalışıyor, sayfamın birkaç görüntü var ve herkesin ne zaman olduğunu bilmem gerekiyor yüklendi :) –

+0

Ben komple bir çözüm yaptım, umarım – BronzeByte

İlgili konular