2016-09-06 3 views
0

HTML 및 JavaScript를 사용하여 슬라이드 쇼를 마무리하는 중입니다. 내 마지막 문제는 반환 함수 (가정) 또는 일종의 종료 함수를 사용해야하는 중지 단추를 만드는 것입니다. 자동으로 실행되는 이미지 슬라이드 쇼입니다. 일시 중지, 이미지 건너 뛰기, 이미지 뒤로 이동 등이 가능합니다. 중지 버튼을 사용하여 autoRun 함수를 종료하고 이미지를 첫 번째 기본 이미지로 다시 설정합니다. 내가 작동하지 않는 것으로 추측하고있는 기능을 완전히 잘못 설정했습니다.클릭시 돌아 가기/정지 기능 사용

<td class="controls"> 

    <button onClick="autoRun()">Start</button> 
    <button onClick="changeImage(-1); return false;">Previous Image</button> 
    <button onClick="pause();">pause</button> 
    <button onClick="changeImage(1); return false;">Next Image</button> 
    <button onClick="Exit();">Exit</button> 



    </td> 

</tr> 

모든 버튼

var images = ["HGal0.jpg", "HGal1.jpg", "HGal2.jpg", "HGal3.jpg", "HGal4.jpg", "HGal5.jpg", "HGal6.jpg", "HGal7.jpg", "HGal8.jpg", "HGal9.jpg", "HGal10.jpg", "HGal11.jpg", "HGal12.jpg", "HGal13.jpg", "HGal14.jpg", "HGal15.jpg"]; 
var interval = setInterval("changeImage(1)", 2000); 
var imageNumber = 0; 
var imageLength = images.length - 1; 

function changeImage(x) { 
imageNumber += x; 
// if array has reached end, starts over 
if (imageNumber > imageLength) { 
    imageNumber = 0; 
} 
if (imageNumber < 0) { 
    imageNumber = imageLength; 
} 

document.getElementById("slideshow").src = images[imageNumber]; 

return false; 
} 

function autoRun() { 
interval = setInterval("changeImage(1)", 2000); 

} 

function pause(){ 
clearInterval(interval); 
interval = null; 
} 

function Exit(){ 
return; 
} 

내가 완전히 종료 함수에서 return 문을 이해하고 있지 않다 마지막

자바 스크립트 이외의 작업중인 HTML , 대부분의 예제에서 보았습니다. if 'if'statem ent가 충족되는 반면 정지 버튼을 클릭하면 실행되도록합니다. 감사합니다

답변

1

return 진술은 단순히 나타나는 기능을 종료하고, 다른 것들을 중지시키지 않습니다. 그래서이 :

입니다
function Exit() { } 

, 함수가 전혀 아무것도하지 않습니다

function Exit(){ 
return; 
} 

...이 같은 효과가 있습니다.

정지 버튼을 사용하여 autoRun 기능을 중단하고 첫 번째 기본 이미지로 이미지를 다시 설정하고 싶습니다.

OK, 그래서 당신의 Exit() 함수가 다른 함수를 호출 있습니다

function Exit() { 
    pause();   // this will stop the slideshow 
    imageNumber = 0; // reset to the first image 
    changeImage(0);  // change to that image 
} 
+0

아 내가 지금, 더 나은 참조하십시오. 너무 이해해 주셔서 감사합니다. –