frame-1.jpg, frame-2.jpg
과 같은 애니메이션의 프레임 인 이미지 세트가 있고 약 400 개의 이미지가 있습니다.jQuery를 사용하여 이미지 미리로드하기
내가하고 싶은 것은 애니메이션이 시작되기 전에 400 개의 이미지를 사전로드하는 것입니다. 이미지를 사전로드 할 때
보통 나는 다음과 같은 사용
var images = [
'img/nav-one-selected.png',
'img/nav-two-selected.png',
'img/nav-three-selected.png',
'img/nav-four-selected.png'
];
$(images).each(function() {
var image = $('<img />').attr('src', this);
});
그러나이 경우에
는, var에있는 이미지를 나열하는 것은 가능하지 않으며, 또한 이미지가 일단 시작 애니메이션을 해고 할 모두로드되었습니다.지금까지 나는 다음과 같습니다
$spinner_currentFrame = 1;
$numFrames = 400;
function preloadImages() {
$($images).each(function() {
var image = $('<img />').attr('src', this);
});
startAnimation();
}
function startAnimation() {
$spinner_loadingAnim = setInterval(function() {
UpdateSpinner();
}, 140);
}
function UpdateSpinner() {
$spinner_currentFrame = $spinner_currentFrame + 1;
if($spinner_currentFrame > $numFrames) {
$spinner_currentFrame = 1;
}
console.log($spinner_currentFrame);
$('#spinner').css("background-image", "url(frame-" + $spinner_currentFrame + ".jpg)");
}
$(document).ready(function() {
preloadImages();
});
그래서 계획은 내가 1에서 400까지이며, 그 완성 된 후에는 다음 다음 애니메이션을 시작 이미지를 미리로드 것입니다. 그래도 어떻게 $ images var를 만들겠습니까?
내가 좋아하는 뭔가에 대해 생각했습니다
$images = [];
$frame = 1;
$numFrames = 400;
$($frame).each(function() {
$frame = $frame + 1;
if($frame <= $numFrames) {
$images =+ 'frame-' + $frame + '.jpg';
}
});
하지만이는 방법) 효율적인 모르겠어요과 ㄴ) 한 번에 모든 이미지가 성공적으로로드 한 콜백을 수행하는.
transfering 때 많은 파일 (400 +) 당신은 – jAndy
아직도 문제가 요구하는 무엇 인 목록을 채울 필요가 https://github.com/jAndreas/Supply 같은 기술을 사용하여 고려하고 시작해야합니다 :) – Cameron