이미지가있는 디렉토리를 사전로드하려고합니다.사전로드 이미지 디렉토리
preload.php
<?php
function listImages($dir){
$ffs = scandir($dir);
foreach($ffs as $ff){
if($ff != '.' && $ff != '..' && strstr($ff, '.png') || strstr($ff, '.jpg') || strstr($ff, '.gif') || strstr($ff, '.jpeg')){
echo '"images/'.$ff;
if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
echo '", ';
}
}
}
echo '[ ';
listImages('images');
echo ']';
// output: ["image1.png", "image2.png"] etc.
?>
footer.php
<script type="text/javascript">
// put contents of all_images.php file into variable 'images'
$.ajax({
type: "GET",
async: false,
cache: false,
url: "./preload.php",
data: "getid=true",
success: function(data){
images=data;
}
});
// The variable 'images' now contains string of file names
// needed to be preloaded.
$.fn.preload = function() {
this.each(function(){
$('<img/>')[0].src = this;
});
}
</script>
<script type="text/javascript">
$(document).ready(function(){
$(images).preload();
</script>
를하지만 제대로 작동 나던 :
지금까지 나는이 코드를 사용하고 있습니다. 파이어 버그에서 나는 "이미지"$(images).preload();
내가 오류가 does`nt 대신 내 모든 링크를 붙여 넣을 경우 uncaught exception: Syntax error, unrecognized expression:
를 얻을 수 있지만, 내 이미지는로드되지 않습니다.
어떤 도움을 주셔서 감사합니다. 여기 하루 종일 그것을 파악하려고 노력하고 있습니다. 1
업데이트 # 그래서, 지금과 같이 그 일을 메신저 : 지금까지
$(document).ready(function(){
$.getJSON("./preload.php?getid=true", function(data) {
var images = [];
$.each(data, function(i, val) {
images[i] = new Image().src=val;`
$.fn.preload = function() {
this.each(function(){
$('<img/>')[0].src = this;
});
}
$(images).preload();
});
});
});
오류 없음,하지만 이미지는 파이어 버그의 "네트워크"탭에 표시 해달라고.
실행을 시도하고 JSON을 사용하여 다음을 그것을 얻으십시오. – mplungjan
'dataType : 'json''을 AJAX 설정에 추가 해보십시오. 데이터 유형 – Korikulum
: 'JSON은'내가 ReferenceError가'얻을 : 이미지 defined'되지 – fourgood