페이지로드시 시작되는 setTimeout 함수를 중단하려고합니다. 그래서 내가 여기서하고있는 일은, 버튼을 클릭하면 true로 flag 값을 만들고 setTimeout은 깨지지 않아서 여기서 일어나지 않습니다. 이 setTimeout 함수는 각 루프에 있습니다. 아래는 제 코드입니다.foreach 루프 내에서 setTimeout 함수를 중단하십시오.
rData[0].dt.forEach(function(d, i) {
setTimeout(function() {
if(flag === "false"){
console.log(flag);
reserRadius(i); //here I am changing radius of circle
}else{
console.log(flag);
clearTimeout();
return;
}
}, i * 2000);
});
'clearTimeout'는 ID가 setTimeout''에서 반환,하지만 당신은 시간에 의해 함수가 시간 제한 평가 있기 때문에, 이해가되지 않습니다이 경우 이미 예상 완료되었고'clearTimeout'을 호출 할 이유가 없습니다 –
코드가 정확히 원하는 것을 명확히 알 수 없습니다. 실행될 때 이미 제거되었으므로 자체 내부에서'timeout'을 제거 할 수 없습니다. 질문에 [JSFiddle] (https://jsfiddle.net/) 스 니펫을 게시하는 것이 유용 할 것입니다. –
이 setTimeout 함수 내에서 실행되는 애니메이션 코드가 있습니다. 특정 지역 위로 마우스를 가져 가면이 애니메이션이 멈추기를 바란다. 그래서 버튼을 사용하여 멈추려 고한다. – shanky