12-08-2011, 10:57
|
|
|
חבר מתאריך: 15.08.06
הודעות: 1,561
|
|
זה מאוד טריקי וגם מסוכן לחכות עד שכל התמונות יעלו. תחשוב שאם יש לך פיקסל טראקינג (למשל, doubleclick), שהדומיין חסום (לדוגמא - אחד מהפלאגינים, או רשת "נקייה") אז הדף שלך לא יוריד את הלואדינג אף פעם.
קוד לדוגמא ב jQuery כדי לבדוק מתי כל התמונות שלך סיימו לטעון. הקוד מוסיף לכל התמונות את הקלאס not-complete ועד בודק תמונה תמונה אם היא סיימה לטעון. הוא יעשה את הבדיקה כל 500 מילישניות עד שלא נשארו יותר תמונות שהן not-complete.
קוד:
$(function() {
$('img')
.addClass('not-complete')
.each(function (i) {
if (this.complete && this.width > 0) {
$(this).removeClass('not-complete');
}
});
var img_finished_loading_interval = setInterval(function () {
var not_completed = $('img.not-complete');
if (not_completed.length == 0) {
start_loading_sequence_here();
clearInterval(img_finished_loading_interval);
}
else {
not_completed.each(function (i) {
if (this.complete && this.width > 0) {
$(this).removeClass('not-complete');
}
});
}
}, 500)
});
שים לב שזה רק תמונות שמוגדרות בעמוד. כל התמונות ב CSS לא נכנסות לקטגוריה הזאת. בעצם לא נראה לי שיש שום דרך לבדוק אם תמונות CSS סיימו להיטען.
וגם לא בדקתי את הפונקציה ששמתי למעלה, אז אולי צריך לעשות לה קצת טוויקינג. אני העברתי את הרעיון פה, קח את זה לאן שתרצה
_____________________________________
!!אזהרה!!
ההודעה עלולה להכיל שברי אגוזים ו/או איברי דגים כלשהם
!!אזהרה!!
|