2012-09-08 4 views
-2

나는 TheNoble-Coder에서 Difficulty in Understanding Slideshow script에 대한 답을 구현하려고 애써 왔습니다. 그의 "Well if you want ..."솔루션은 다양한 수의 이미지가 포함 된 폴더의 경우 매우 세련된 솔루션처럼 들립니다. 그러나 나는 그것을 작동시키지 못했습니다. 선의 표시 : Yaldex에 의해 무료 자바 스크립트 편집기를 사용하면 '호환되지 않는 유형의 오류는'내가 할 디버깅하는imageArray [i] = imageItem이 호환되지 않습니다

var place; //For convenience this is best as a global 
function imageItem(url) 
{ 
    var img = new Image(); 
    img.src = url; 
    return url; 
} 
for(var i=0; i<5; i++) 
{ 
    imageArray[i] = imageItem(imageDir + i + ".jpg"); <-----Incompatible 
} 

내가 어떤 도움을 정말 감사하겠습니다.

전체 스크립트입니다 :

 <script language="JavaScript"> 
var interval = 4000; 
var random_display = 0; 
var imageDir = "images/"; 
var imageNum = - 1; 
var place; //For convenience this is best as a global 
function imageItem(url) 
{ 
    var img = new Image(); 
    img.src = url; 
    return url; 
} 
for(var i=0; i<5; i++) 
{ 
    imageArray[i] = imageItem(imageDir + i + ".jpg"); 
} 
function randNum(x, y) 
{ 
    var range = y - x + 1; 
    return Math.floor(Math.random() * range) + x; 
} 
function getNextImage() 
{ 
    imageNum = (random_display) ? randNum(0, imageArray.length-1) : ((imageNum+1) % imageArray.length); 
    return imageArray[imageNum]; 
} 
function getPrevImage() 
{ 
    imageNum = (imageNum-1 >= 0) ? (imageNum-1) : (imageArray.length-1); 
    return imageArray[imageNum]; 
} 
function prevImage() 
{ 
    var image_item = getPrevImage(); 
    place.src = place.alt = image_item.url; 
} 
function nextImage() 
{ 
    var image_item = getNextImage(); 
    place.src = place.alt = image_item.url; 
} 
function play() 
{ 
    nextImage(); 
    timerID = setTimeout(play, interval); 
} 
window.onload = function() 
{ 
    place = document.slideImg; 
    play(); 
}; 

    </script> 
+0

어디에서 'imageArray'가 선언 되었습니까? boddy 태그 – Ryan

+0

당 TheNoble-코더의 원본 코드 :
Play slide show   |   Pause   |   Previous   | Next    은 BTW 나는 또한 SRC = 27.jpg을 제거 시도하고,이 차이는 없습니다. – user1432958

+1

거기에 아무 곳에 나 선언 된'imageArray'가 보이지 않습니다. – Ryan

답변

0

은 당신이 그것에서 기대하는지 않습니다 있는지 확인하기 위해 imageArray[i]imageItem(imageDir + i + ".jpg")을 인쇄 해보십시오. 나는 그것이 해결책의 열쇠라고 생각한다 ... :)

+0

나는 다음을 시도하고 페이지에 프린트를 얻지 못한다. document.writeln (imageArray [i]); document.writeln (imageItem (imageDir + i + ".jpg"))); document.writeln (imageItem); 다음을 인쇄합니다. 'function imageItem (url) {var img = new Image; img.src = url; return url; } ' 및 document.writeln (i); '0'을 인쇄합니다. 및 document.writeln (imageDir + i + ".jpg"); 'images/0.jpg'를 출력합니다. – user1432958

관련 문제