Witam wszystkich forumowiczów. Tak jak w tytule mam problem :)
Efekt ma być takie, że najpierw pokazuje się pasek postępu a gdy wszystkie zdjęcia są załadowane pasek postępu znika i pojawia się pierwsze zdjęcie.
Mam taki kod.
$(function () {
var count = $('.newsSliderPhotoBoxes').find('img[data-i]').length;
var step = 100 / count;
step = step.toFixed(2);
var pr = 0;
$('.newsSliderPhotoBoxes').find('img[data-i]').on('load', function () {
count--;
pr = (countsum - count) * step;
pr = pr.toFixed(0);
$('.progressComplete').width(pr + '%');
$('.progressCompleteText').html(pr + '%');
if (count == 0) {
$('.progressBar').animate({
opacity: 0
}, 500);
$('.newsSliderPhotoBoxes').find('img[data-i=1]').animate({
opacity: 1
}, 500);
}
})
})
Problem dotyczy zachowania funkcji .on(load). Wszystko działa prawidłowo w momencie pierwszego ładowania strony. Gdy przejdziemy na podstronę i wrócimy z powrotem .on(load) się nie uruchamia.
Co jest przyczyną? Zakładam że chodzi o zdjęcia, które zostały raz załadowane i znajdują się w cache. Jak spowodować aby .on(load) działał zawsze?
Przejrzał masę stron, analizowałem gotowe skrypty i nie mam pojęcia jak sobie z tym poradzić.