2016-06-13 5 views
0

도움이 필요합니다 (다시). 내가 원하는 것은 특정 시간에 버튼을 한 번 클릭하지 않으면 div가 표시되는 기능입니다. 더 명확하게하려면 다음과 같은 종류의 코드를 찾고 있습니다.자바 스크립트 기능이 특정 시간에 클릭되지 않았습니다.

function MyFunction() { 
if(not clicked one time in 8000 milliseconds) 
    document.getElementById("myDiv").style.visibility = "visible"; 
} 

누군가이 코드를 어떻게 작성해야하는지 알고 있습니까? 고맙습니다!

+1

https://jsfiddle.net/3c3vojho/을 뭔가 거의 충분합니다. 다음에 게시하기 전에 더 많은 노력을 기울일 것을 권하는 경우, 전적으로 정직하게 뭔가를 생각해 낼 수 있습니다. – briosheje

+0

@briosheje 반응에 감사드립니다, 나는 당신의 코드를 시도 할 것입니다. 나는 여기에 새로운 해요 Stackoverflow 아직 완전히 이해하지 마십시오. 그래서 저는 궁금합니다. 더 많은 것을 가져 오는 것이 왜 중요한가? – annaneedshelp

+0

스택 오버 플로우 형식은 지금까지 시도한 것을 보여주기 위해 해결해야 할 특정 문제에 관한 것이므로 달성해야 할 것에 대한 아이디어를 간단하게 제공하는 코드 조각은 여기에 포함 된 주제와 정확히 일치하지 않을 수도 있습니다. 누군가가 대개 어떤 질문에 맞을지를 볼 수 있습니다. 또한 다음 번에는 현재 입력 (오류가 있거나 없음에 상관없이 작성하려고 시도한 코드)과 원하는 출력을 명확히하려고 시도하십시오. 어쨌든 setTimeout 또는 setInterval을 선택하여이를 수행하십시오. – briosheje

답변

0

setTimeout을 사용하여 기능을 실행하려면 "타이머 설정"이 가능합니다. 이 함수는 타이머를 취소하는 데 사용할 수있는 ID를 반환합니다. 다음은 그 예이다 :이 같은

var clickTimeout = null; 
 

 
var cancel = function() { 
 
    clearTimeout(clickTimeout); 
 
}; 
 

 
var start = function() { 
 
    cancel(); 
 
    document.getElementById("showMe").style.display = "none"; 
 
    clickTimeout = setTimeout(onDone, 2000); 
 
}; 
 

 

 
var onDone = function() { 
 
    document.getElementById("showMe").style.display = "block"; 
 
}; 
 

 
document.getElementById("cancel").addEventListener("click", cancel); 
 
document.getElementById("restart").addEventListener("click", start); 
 

 
start();
<button id="cancel">click me</button> 
 
<button id="restart">restart</button> 
 

 

 

 

 
<div id="showMe" style="display: none">Timed out</div>

관련 문제