YaniBunu, özyinelemeli işlev yerine döngüde nasıl değiştirebilirim?
var barlen = $('#SSWEprogressbar').width(),
$elems = $('[data-srcurl]'),
k = 0,
n = $elems.length;
LoadImage();
function LoadImage()
{
var $elem = $($elems[k]);
var img = new Image(),
url = $elem.attr('data-srcurl');
$(img).load(function(){
$('#SSWEloaderfront').attr('src',url);
$('#SSWEloadprogress').width((k+1)/n*barlen + "px");
var srctgt = $elem.attr('data-srctgt');
// change url to src attribute or background image of element
if (srctgt == "srcattr"){ $elem.attr('src',url); }
else if (srctgt == "bgimg") { $elem.css('background-image',"url("+url+")"); }
// decide whether to exit the
if (++k == n) { AllyticsSSWEPlayerShow(); }
else { LoadImage(); }
});
img.src = url;
}
gibi bir kod parçası ve o load
geri arama işlevi şeyler tekrar çalıştırılabilir önce çağrılması gerekir çünkü bu tarafta yazılı olması nedeni var. Mümkünse, bunu bir özyinelemeli işlevden bir döngüye değiştirmek istiyorum, ancak bunu nasıl yapacağımı bilmiyorum çünkü bir sonraki yinelemeye geçmeden önce for
veya while
döngü "wait" yapmanın bir yolu yoktur. Yoksa orada mı?
HTML kodunuzu paylaşabilirsiniz? :) –
neden bunu yapmak istiyorsun? Bu, JS'deki alışılmış kalıptır (bir versiyonu). – Alnitak
@AralRoca – Alnitak