जवाबों:
आप उस टाइमआउट के लिए एक संदर्भ स्टोर कर सकते हैं, और फिर clearTimeoutउस संदर्भ पर कॉल कर सकते हैं।
// in the example above, assign the result
var timeoutHandle = window.setTimeout(...);
// in your click function, call clearTimeout
window.clearTimeout(timeoutHandle);
// then call setTimeout again to reset the timer
timeoutHandle = window.setTimeout(...);
.clear()टाइमआउट ऑब्जेक्ट पर ही नहीं है।
window.setTimeoutएक नंबर (टाइमर की आईडी) और एक "टाइमआउट ऑब्जेक्ट" नहीं है।
ClearTimeout () और सेटटाइमआउट के संदर्भ को फीड करें, जो एक नंबर होगा। फिर इसे फिर से लागू करें:
var initial;
function invocation() {
alert('invoked')
initial = window.setTimeout(
function() {
document.body.style.backgroundColor = 'black'
}, 5000);
}
invocation();
document.body.onclick = function() {
alert('stopped')
clearTimeout( initial )
// re-invoke invocation()
}
इस उदाहरण में, यदि आप 5 सेकंड में बॉडी एलिमेंट पर क्लिक नहीं करते हैं तो बैकग्राउंड का रंग काला हो जाएगा।
संदर्भ:
नोट: setTimeout और ClearTimeout ECMAScript देशी तरीके नहीं हैं, बल्कि वैश्विक विंडो नामस्थान के जावास्क्रिप्ट तरीके हैं।
आपको टाइमआउट "टाइमर" को याद रखना होगा, इसे रद्द करना होगा, फिर इसे फिर से शुरू करना होगा:
g_timer = null;
$(document).ready(function() {
startTimer();
});
function startTimer() {
g_timer = window.setTimeout(function() {
window.location.href = 'file.php';
}, 115000);
}
function onClick() {
clearTimeout(g_timer);
startTimer();
}
var myTimer = setTimeout(..., 115000);
something.click(function () {
clearTimeout(myTimer);
myTimer = setTimeout(..., 115000);
});
उन लाइनों के साथ कुछ!
यह टाइमर 30 सेकंड के बाद "हैलो" अलर्टबॉक्स में आग लगा देगा। हालाँकि, हर बार जब आप रीसेट टाइमर बटन पर क्लिक करते हैं, तो यह टाइमरहैंडल को साफ़ करता है और फिर से सेट करता है। एक बार जब यह निकाल दिया जाता है, तो खेल समाप्त हो जाता है।
<script type="text/javascript">
var timerHandle = setTimeout("alert('Hello')",3000);
function resetTimer() {
window.clearTimeout(timerHandle);
timerHandle = setTimeout("alert('Hello')",3000);
}
</script>
<body>
<button onclick="resetTimer()">Reset Timer</button>
</body>
var redirectionDelay;
function startRedirectionDelay(){
redirectionDelay = setTimeout(redirect, 115000);
}
function resetRedirectionDelay(){
clearTimeout(redirectionDelay);
}
function redirect(){
location.href = 'file.php';
}
// in your click >> fire those
resetRedirectionDelay();
startRedirectionDelay();
$(function() {
(function(){
var pthis = this;
this.mseg = 115000;
this.href = 'file.php'
this.setTimer = function() {
return (window.setTimeout( function() {window.location.href = this.href;}, this.mseg));
};
this.timer = pthis.setTimer();
this.clear = function(ref) { clearTimeout(ref.timer); ref.setTimer(); };
$(window.document).click( function(){pthis.clear.apply(pthis, [pthis])} );
})();
});
टाइमर को रीसेट करने के लिए, आपको टाइमर वेरिएबल को सेट और क्लियर करना होगा
$time_out_handle = 0;
window.clearTimeout($time_out_handle);
$time_out_handle = window.setTimeout( function(){---}, 60000 );
मुझे पता है कि यह एक पुराना धागा है लेकिन मैं आज इसे लेकर आया हूं
var timer = []; //creates a empty array called timer to store timer instances
var afterTimer = function(timerName, interval, callback){
window.clearTimeout(timer[timerName]); //clear the named timer if exists
timer[timerName] = window.setTimeout(function(){ //creates a new named timer
callback(); //executes your callback code after timer finished
},interval); //sets the timer timer
}
और आप का उपयोग कर आह्वान
afterTimer('<timername>string', <interval in milliseconds>int, function(){
your code here
});