2016-06-13 51 views
0

我需要幫助(再次)。我想要的是一個功能,如果一段時間內沒有在按鈕上點擊過一次,就會顯示一個div。爲了更清楚,我正在尋找這種代碼:Javascript功能沒有在特定時間點擊白白

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

,因爲stackoverflow格式是關於一個特定的問題來解決顯示你迄今爲止嘗試過的,具有一段代碼,簡要地給出你需要完成的內容的一個概念可能並不完全被認爲是主題,儘管作爲你可以看到有人通常會給出任何問題。此外,下次嘗試澄清當前輸入(您嘗試寫入的代碼,無論是否有錯誤)以及所需的輸出:)。無論如何,請選擇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>