이 스크립트는 waterbirds.org에서 수년 동안 실행되었습니다. 이제 그것은 어떤 이유로 부러졌습니다. "정의되지 않은"src의 '속성을 읽을 수 없습니다. "오류가 발생하고 이미지 링크 주소를 넣을 수 있기 때문에 문제로 preLoad [j] .src (첫 번째 줄은 runSlideShow 함수)로 추적했습니다. . 문제의 원인은 무엇입니까?자바 스크립트 배열 문제 : 정의되지 않은 'src'속성을 읽을 수 없습니다.
// Waterbird Society Theme for Wordpress
// Rotating image banner applet
//
// Usage:
//<body onLoad='rotate_banner(slideShowSpeed, "Image1.jpg", "Image2.jpg"...)'>
var slideShowSpeed;
var j = 0;
var p;
var preLoad = new Array();
function rotate_banner() {
var args = rotate_banner.arguments;
slideShowSpeed = Number(args[0]);
p = args.length;
for (i = 0; i < p-1; i++) {
preLoad[i] = new Image();
preLoad[i].src = args[i+1];
}
runSlideShow();
}
function runSlideShow() {
document.images['SlideShow'].src = preLoad[j].src;
j++;
if (j > (preLoad.length - 1)) j = 0;
t = setTimeout('runSlideShow()', slideShowSpeed*1000);
}
당신이 디버깅 할 때, preLoad에 값을 채우고 있습니까? 포함하고있는 이미지의 수를 계산할 수 있습니까? 해당 배열이 비어 있으면 색인을 생성하면 오류가 발생합니다. – tomasmcguinness
세부 사항 ... i와 t 변수를 "var"하십시오. –
크롬과 FF6에서 모두 잘 작동합니다. – TheVillageIdiot