2013-03-26 2 views
0

버튼을 클릭하여 활성화 된 슬라이드 쇼가있는 웹 페이지를 만들고 있습니다. 처음 버튼을 클릭하면 슬라이드 쇼를 실제로 실행하기 전에 사용자가 다음 이미지로 변경하는 속도를 묻는 메시지를 표시해야합니다. 다음에 버튼을 클릭하면 슬라이드 쇼를 멈추고 싶습니다. 지금은 첫 번째 부분이 작동하지만 두 번째 단추를 클릭하면 다시 프롬프트가 표시되고 슬라이드 쇼가 중지되지 않습니다. 아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까? 함수 선언의 외부로자바 스크립트 슬라이드 쇼가 중지되지 않습니다.

function slideShow(){ 
var temp2 = 0; 
    if (temp2 == 0){ 
    var speed = prompt("How fast would you like to the slideshow to go?"); 
    var timerID = setInterval("clock()",speed); 
    temp2 = 1; 
    } 
    else if (temp2 == 1){ 
    clearInterval(timerID); 
    temp2 = 0; 
    } 
} 
+1

'숙제 '태그는 더 이상 사용되지 않으므로 사용하지 않는 것이 좋습니다. – Abubakkar

답변

1

이동

var timerID 

: 여기에 주어진 함수 내 코드입니다.

var timerID 
function slideShow(){ 
var temp2 = 0; 
    if (temp2 == 0){ 
    var speed = prompt("How fast would you like to the slideshow to go?"); 
    timerID = setInterval("clock()",speed); 
    temp2 = 1; 
    } 
    else if (temp2 == 1){ 
    clearInterval(timerID); 
    temp2 = 0; 
    } 
} 

가장 쉬운 방법입니다. 기본적으로 그 함수를 호출 할 때마다 변수를 버리는 것입니다.


다른 조언. setInterval에서 문자열을 사용하고 싶지는 않습니다.

+0

두 번째 클릭에서 나에게 계속 묻는 메시지가 표시되고 슬라이드 쇼가 멈추지 않습니다. – Brett

+0

다른 아이디어가 있습니까? – Brett

+1

그것을 알아 냈습니다. 또한 함수 외부에 temp2를 배치해야했습니다. 나를 올바른 방향으로 이끌어 주셔서 감사합니다. – Brett

관련 문제