我创建了一个图库脚本,它首先加载要显示的图像 http://bit.ly/9aQdr3
有36张图片但image.load()只发射了27次。这是代码
var c = 0;
for(var i =1; i <= 36; i++){
var img = '<img width="500" src="images/' + i + '.jpg" />'
$('#gallery .images').append(img);
}
$('#gallery .images img').css({display: 'block', position: 'absolute', left: '0px', top: '0px'});
$('#gallery .images img').hide();
totalImages = $('#gallery .images img').size();
$('#gallery .images img').load(function(){
c++;
var ip = parseInt((c/totalImages)*100);
$('#gallery .images p').text('Loading ... ' + ip + '%');
if(c == totalImages){
$('#gallery .images p').remove();
$('#gallery .images img').eq(0).show();
interval = setInterval(startAnimation, 100);
isPlaying = true;
}
});
答案 0 :(得分:0)
问题似乎在这里
if(c == totalImages){
$('#movieShow .images p').remove();
$('#movieShow .images img').eq(0).show();
interval = setInterval('startAnimation()', 100);
isPlaying = true;
}
尝试在firebug控制台c和totalImages上打印,也许你对c变量的增量有问题,或者totalimages不是预期值。
注意:而不是
interval = setInterval('startAnimation()', 100);
请使用
interval = setInterval(startAnimation, 100);
因此您可以使用昂贵的eval()
来避免范围解析