2016-06-13 11 views
0

Ich brauche Hilfe (wieder). Was ich gerne hätte, wäre eine Funktion, bei der, wenn in einer bestimmten Zeit nicht einmal auf einen Knopf geklickt wurde, ein Div angezeigt wird. Um klarer zu sein, suche ich diese Art von Code:Javascript Funktion nicht innerhalb einer bestimmten Zeit geklickt

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

Weiß jemand, wie ich das programmieren sollte? Vielen Dank!

+1

https://jsfiddle.net/3c3vojho/ So etwas sollte kaum ausreichen. Nächstes Mal würde ich Ihnen empfehlen, sich vor dem Posten etwas mehr Mühe zu geben, Sie könnten sich etwas einfallen lassen, um ganz ehrlich zu sein. – briosheje

+0

@briosheje danke für die Reaktion, ich werde Ihren Code versuchen. Ich bin neu hier und verstehe Stackoverflow noch nicht ganz. Also bin ich neugierig: Warum ist es wichtig, mit etwas mehr zu kommen? – annaneedshelp

+0

Da das stackoverflow-Format sich nur auf ein bestimmtes zu lösendes Problem bezieht und zeigt, was Sie bisher versucht haben, kann ein Code, der kurz eine Vorstellung davon vermittelt, was Sie erreichen müssen, trotz allem nicht genau als Thema betrachtet werden kann sehen, dass jemand normalerweise eine Frage beantwortet. Versuchen Sie auch beim nächsten Mal, die aktuelle Eingabe (den Code, den Sie zu schreiben versucht haben, egal ob mit oder ohne Fehler) und die gewünschte Ausgabe zu verdeutlichen :). In jedem Fall wählen Sie entweder setTimeout oder setInterval, um dies zu erreichen. – briosheje

Antwort

0

Sie können "einen Timer einstellen", um eine Funktion mit setTimeout auszuführen. Diese Funktion gibt eine ID zurück, mit der Sie den Timer abbrechen können. Hier ein Beispiel:

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>

Verwandte Themen